Integrate with Azure DevOps

essentials (1).svg

The Azure DevOps integration bridges the gap between product discovery and product delivery by empowering product managers and developers to work together.

Product managers and developers focus on two different areas: product discovery and product development. Product managers find and prioritize the right problems, and developers build the right solutions to those problems. But, developers use different tools from product managers, so they often need to switch between them, resulting in siloed information.

This is where the Azure DevOps integration comes into play. The integration shows critical information in both systems so the product and development team work harmoniously. The product managers can push features as a new work item or link them to an existing work item in Azure DevOps. This way, developers know what to build next and why.

In this article:

Installation requirements 

To install the integration, you must be a maker with admin access in Productboard and a build administrator role in Azure DevOps.

Our integration works with Azure DevOps Services (Cloud) and Azure DevOps Server (On-premise).
Not sure which Azure product your organization has? See Microsoft's documentation here.

If you are using Azure DevOps Server (on-premise), you'll need to:

  • Run Azure DevOps Server, version 2018 (Team Foundation Server 2018) or higher. For more information, contact support@productboard.com.

  • Whitelist the following static IP addresses on your firewall with port 443:

    100.25.97.81
    35.174.223.66
    52.6.23.216

Note: If you run into an error, double check with your network administrator that Productboard has access to your Azure DevOps network.

Your Azure DevOps on-premise setup needs to be in a public network with a public IP address. The IP address can be inaccessible from the internet in general, but it must be available to Productboard.

Installing and configuring your Azure DevOps Integration

For the integration setup, you add the Azure DevOps integration in Productboard. Then, you configure the app and get a token in Azure DevOps to establish the connection between the two systems.
Follow the steps below to install and configure the integration:
  1. In Productboard, click your account name in the top right to open your main menu. Then click on Integrations:
    setting_integration.jpg
  2. Scroll down to Azure DevOps, click [+] to add a new integration:

    ADO.png

  3. Name the integration. You can change this anytime, and add your Azure DevOps Server URL (i.e. https://dev.azure.com/zlack). This is a great way to distinguish multiple integrations.
    Then, click on the Create integration button. 
    Note: If you're using a legacy version of Azure DevOps, your URL may have a different format: http://youraccount.visualstudio.com instead.

    integration_name_url.png

  4. Click the Open Azure DevOps button to go to the Personal Tokens page of your Azure DevOps admin account.
    Note: The user who is configuring the integration has to be a member of Project Collection Service Accounts in Azure DevOps.

    Open_ADO_as_an_admin.png

    If you need to go back to the Personal Tokens page, in Azure DevOps click on User Settings > Personal access tokens.
  5. In Azure DevOps click on + New Token:

    personaltoken.png

  6. Click Give your token a name (i.e. Zlack DevOps Account), and make sure you select the same  Organization you used in Productboard. For instance, if you entered https:// zlack.azure.com/, the Organization value is zlack. 

    tokennameandorg.png

  7. Under  Expiration (UTC), select Custom defined from the drop-down menu. Using the calendar drop-down, select the furthest possible date from today.

    expirationutc.png

  8. Then authorize the scope access of the token you created. You need to add permissions for the following scopes for the integration: Notifications and Work Items.
    For both, select the Read and Write authorization. Then, click Create.

    notificationsworkitems.png

  9. Copy your unique token. You won't be able to do this again in the future, so don't forget!

    unique_token.png

  10. Go back to the Productboard Integrations page. Paste your unique token and click Authorize integration.

    integrate_with_productboard.png

  11. If the token authorization is successful, you'll see a Valid check (valid_check_black.png) letting you know that you finished the integration setup.
    Finally, you can associate this integration with the relevant products in your account (this is an Enterprise-only feature).

    tokensettings.png

Using the Azure DevOps integration in Productboard

Once you configure the integration, you can collaborate with your developers. The following sections will cover: 

Pushing a feature or subfeature from Productboard into Azure DevOps

There are two ways to push a feature from Productboard into Azure DevOps:

Note: You can push a Productboard feature or subfeature to Azure DevOps as any type of work item (including user story, bug, task, etc). You can change the work item type in Azure DevOps at any time.

Pushing features from the list view your Features board

  1. On the Features board, click the AddColumnButton.svg Add columns button, select the Tasks icon (tasks_icon_black.png), and find your Azure DevOps integration. Toggle on the integration to display it in the list view of your Features board.

    2023-03-30_12-18-29.jpg

  2. Then click on the integration name and select the Products you want to use (this is an Enterprise-only feature).

    productview.png

  3. On the list view of your Features board, you'll see a column for the Azure DevOps integration.
      • Click on the Azure DevOps logo to push features or subfeatures into Azure DevOps.
      • Then, associate the feature or subfeature with an Azure DevOps project and Work item type.
      • (Optional) - Choose the Azure DevOps Area Path you'd like to push the feature or subfeature to. You'll see this option when you have more than one area for the chosen project.
      • Push the feature to Azure DevOps.

    PUSHFEATURE_SMALL.gif

Pushing features from feature or subfeature detail view

You can also push features or subfeatures from the detail view. To do this follow the steps below:

  1. Click on a feature or subfeature.

    featuresazure.png

      • Click on the Azure DevOps logo to push features or subfeatures into Azure DevOps. 
      • Associate the feature or subfeature with an Azure DevOps project and Work item type.
      • (Optional) - Choose the Azure DevOps Area Path you'd like to push the feature or subfeature to. You'll see this option when you have more than one area for the chosen project.
      • Click Push to push the feature to Azure DevOps. In the detail view of the feature or subfeature:
  2. 2021-11-09_14.35.53.gif

Linking a feature or subfeature to an existing Azure DevOps work item

If you already have existing Work items in Azure DevOps, you can link features or subfeatures to them. You can do this from the list view of your Features board or the feature or subfeature detail view.

Linking features or subfeatures enables clear and consistent communication, so teams are up to date on the delivery status.

To link a feature or subfeature to an existing Work item, follow the same steps we covered earlier either under Pushing features from the list view your feature board or Pushing features from feature or subfeature detail view.

  1. After following the steps above, when you click on the Azure DevOps logo, select Link to existing:

    Screenshot_116.png

  2. Select the Azure DevOps Project and enter the Work item ID. Productboard will automatically display the Work item type, name, and status. Confirm that the listed Work item is correct. Then, click Link.

    Screenshot_117.png

Unlinking a feature or subfeature from an Azure DevOps Work item

If you connected the Productboard feature or subfeature to the wrong Work item in Azure DevOps, you can remove the link by clicking the Break icon (break_icon.png) next to the push button in the feature or subfeature detail view.

Then you can click Unlink. This way, you can push or link the feature or subfeature to the correct Work item in Azure DevOps.

azure_devopsunlinking.png

Understanding how fields map across Productboard and Azure DevOps

When you push or link a feature or subfeature into Azure DevOps, fields will be mapped across Productboard and Azure DevOps to ensure product managers and developers can work seamlessly together.

This is the information that is shared between the two systems:

  1. Feature or subfeature Title.
  2. Feature or subfeature Description with formatting.
  3. Creator (the person who pushed the feature) is displayed in the Azure DevOps history (Activity Log).
  4. Azure DevOps work item status.
  5. Productboard feature or subfeature link will be created in the Azure DevOps comments section and links section, so you can easily switch between the systems.

You can see an overview of how the fields are linked between the two systems in the image below, where you can see Azure DevOps on the left and Productboard on the right:

overview.png

Note:
  • While subfeatures are often pushed to Azure DevOps as user stories, product backlog items, issues, or features (depending on your Features board setup), you can use any other custom Work item type as well.
  • Within Productboard, you can change a feature to a subfeature, or vice versa, without impacting the associated Work item in Azure DevOps.

Filtering features or subfeatures by Azure DevOps status

You can also filter features and subfeatures on your Features board to display only those that have certain Azure DevOps statuses associated.

  1. Click the Filter icon (filter_icon.png) in the header.
  2. Select Tasks.
  3. Find your Azure DevOps integration.
  4. Select the status(es) you wish to see.

statuses.png

Using the two-way sync to update fields automatically across tools

The Azure DevOps and Productboard integration let you synchronize fields between the two systems automatically. 

The integration supports two-way sync of the following fields:

  • Productboard feature Name <> Azure DevOps Work Item Title
  • Productboard feature Description <> Azure DevOps Work item Description
NOTE: Two-way sync is disabled by default. It must be explicitly enabled in the Integration settings (see below).

Enabling and configuring the two-way sync between Productboard and Azure DevOps

To enable the two-way sync between Productboard and Azure DevOps you need to meet the following requirements:

  1. The user who originally authorized the Productboard <> Azure DevOps integration needs the following permissions, at least temporarily, to enable the two-way sync (see Installation requirements).
  2. The account should be a member of the Project collection service account or Project collection administrators groups in Azure DevOps. Detailed instructions can be found on the authorization screen in Settings where a new auth token can be entered.

To turn on the two-way sync, follow those steps:

    1. Go to Productboard's Integration Settings.
    2. Select the Azure DevOps integration for which you want to enable two-way sync.

      Screenshot_160.png

    3. Under Synchronization, select the fields you'd like to sync bi-directionally and click Save sync settings.

      Screenshot_162.png

Understanding the two-way sync limitations

If you decide to enable the two-way sync, you should take into account the following limitations:

  • No data will be synced retroactively when the two-way synchronization is enabled.
  • There may be minor discrepancies when syncing rich text descriptions between Productboard and Azure DevOps, and some formatting may be lost.
  • Minor text corruptions may occur after multiple syncs. These can be fixed with manual edits, and both editors provide version history.
  • Inline images are displayed only with the user is logged into both systems, as the images are not stored locally.
  • Productboard edits will be written to Azure DevOps using the account of the user who authorized the integration.

Mapping child items to parents

If you want to keep track of the feature (mostly epic) to subfeature relationship (mostly features or other types of work items) you can add parent-child relations to work items.

To add parent-child relations to work items:

  1. In Productboard, click your account name in the top right to open your main menu. Then click on Integrations:

    setting_integration.jpg

  2. Select the Azure DevOps integration you'd like to enable parent-child relations for:

    Screenshot_40.png

  3. Check Map child items to parents:

    Screenshot_86.png
    You can also choose to apply links backwards by clicking the Apply backwards button. If you do so, all of the existing parent-children relationships will be updated.
    If you decide not to apply links backwards and only enable this option, you'll see the links for the newly pushed or linked items only.

After you enable this functionality the work items or subfeatures you push will be linked with the already pushed Work Items.

If you push the child's sub-feature first and then the parent feature, the sub-feature will be linked to that parent.

Group_4088.svg

Deactivating your Azure DevOps integration

If you no longer what to use the Azure DevOps integration, you can remove it on the Integrations page. Follow these steps:

  1. In Productboard, click your account name in the top right to open your main menu. Then click on Integrations:

    setting_integration.jpg

  2. Click on Azure DevOps, and toggle the integration off:

    Screenshot_222.png

  3. Then select the integration name you wish to remove, and click on the trash bin icon (Screenshot_224.png):

    Screenshot_223.png

Automatically update a Productboard Feature status based on an Azure DevOps status

A Maker+admin of your Productboard workspace can set this up by following the steps below:

  1. In Productboard, click your account name in the top right to open your main menu. Then click on Integrations:
  2. Scroll down to your Azure DevOps Integration and select the Azure DevOps Integration you want to set up the status sync for.

     

  3. Scroll down to the section Status Sync Updates and click on the + Add status rule button.
    Empty_state.png

    Screenshot_2022-05-05_at_15.16.13.png

    1. On the left dropdown, select all the Azure DevOps statuses that, if changed in Azure DevOps will trigger a change of status in Productboard. 

      First_rule___select_Jira_status__1_.png

    2. On the right dropdown, select the Productboard status that will change in Productboard if the associated Azure DevOps work item is changed to any of the selected statuses on the left side. If you have not set up your Productboard statuses yet, see our article Customize status values for features.

      First_rule___select_Pb_status.png

    3. Repeat the previous steps as many times as you need to automate the status sync.

      Note: You don't have to do this for all the statuses, only the ones you care about.

    4. Click Save the delivery status tracking. From now on, if anybody changes a connected Azure DevOps issue status to the one you predefined, the status of the connected Productboard feature will be changed based on the rules you’ve set.
      First_rule___multiple_values.png

Error Handling

When automating propagation of an Azure DevOps status to a Productboard feature status, from time to time you might receive some errors. The steps below describe how to resolve these errors.

Status no longer exists in Azure DevOps

Status_no_longer_exists_in_AzureDevOps.png

If the status is deleted on the Azure DevOps side but is mapped for this integration on Productboard, it’s going to be highlighted and won’t be updated on the Features Board.

To resolve the error:

  1. Remove the highlighted status from the rule via clicking the X button in the status box.
  2. Remap the status that corresponds to your current flow.
  3. Save status rules.

Status no longer exists in Productboard

If the Productboard status is removed, the dropdown is going to be highlighted and the rule won’t be working until the status is remapped.

ADO_-_Status_no_longer_exists_in_Productboard.png

To resolve the error: 

  1. Click on the dropdown and select the status that corresponds to the Azure DevOps statuses mapped.
  2. Save status rules.

Loading of states failure. All or partial fail

ADO_-_Status_no_longer_exists_in_Productboard__1_.png

It may happen that statuses may fail to load, fully or partially. In this case, You can try to load them again.

To resolve the error: 

  • Click the Try Again button to load the statuses.

Rule not configured entirely

ADO_-_Status_no_longer_exists_in_Productboard__2_.png

It won’t be possible to save the rule if any of the statuses is not selected. Both dropdowns will be highlighted and the Save status rule button will be disabled.

To resolve the error: 

  • Select at least one Azure DevOps status and one Productboard status to be able to save the rule.

See also:

Was this article helpful?
14 out of 15 found this helpful

Comments

0 comments

Article is closed for comments.

Articles in this section

Our Support hours:
Monday to Friday from 9:00 am - 2:00 am CET. Monday to Friday from 0:00 am - 5:00 pm PST.
Productboard Academy
Become a Productboard expert with self-paced courses, quick tip videos, webinars and more.
Product Makers Community
Connect with product leaders, share and find product jobs, and learn how to approach similar challenges. Come join our Product Makers community.