Link user stories, issues, bugs, and other work items in Azure Boards
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018
Link work items to other work items to manage dependencies and see relationships within work. You can link work items within your project or to work items within another project in your organization. Use different link types to support different business goals. You can also link work items to other objects such as builds, commits, versioned items, or network resources.
Link work items to other work items to manage dependencies and see relationships within work. You can link work items within your project or to work items within another project in your collection. Use different link types to support different business goals. You can also link work items to other objects such as builds, commits, versioned items, or network resources.
In general, you use the following link types when linking work items to one another:
- Use Parent/Child links to link work items that you want to group within a hierarchy
- Use Predecessor/Successor or Affects/Affected by links to link work items that have dependencies
- Use Duplicate/Duplicate of links to link work items that track the same code defect or work
- Use Related to link work items with some level of relationship, but not that strong
You can add a link to a work item from within the work item form or from a backlog or query results list. From a backlog or query results list, you can select multiple work items and then link them to a new or existing work item. In general, use the bulk edit to update several work items to link to the same work item, either new or existing.
Use this article to learn how to:
- Link one or more work items to an existing work item
- Link one or more work items to a new work item that you add when linking
- Add a link to a remote work item
- Link several work items to a new git branch
- Link work items to a build artifact
- Find work items that you want to link to
- Bulk modify link relationships
- Link one or more work items to an existing work item
- Link one or more work items to a new work item that you add when linking
- Link several work items to a new git branch
- Link work items to a build artifact
- Find work items that you want to link to
- Bulk modify link relationships
Note
If you want to link work items in a parent-child hierarchy, use the mapping pane as described in Organize your backlog and map child work items to parents. If you want to link test cases to user stories, see Add, run, and update inline tests and Create test plans and test suites.
For an overview of how links are used to support traceability, see End-to-end traceability.
Link guidance
For an overview of which link types to use and link-related capabilities, see Linking, traceability, and managing dependencies. In general, we recommend you follow these guidelines:
- For work items that appear on your backlogs, both product and portfolio, use the Parent and Child link types to create a hierarchy and group work. To quickly link many backlog work items within a hierarchy, see Organize your backlog, map child work items to parents.
- When linking work items with Parent and Child link types, avoid nesting work items of the same type. While the system allows you to nest work items of the same type--such as, linking bugs to bugs or bugs to user stories when tracking both types on your product backlog--it can cause problems. For example, drag-and-drop of work items on a backlog or display of items on a Kanban board may not work. To learn more, see Fix display, reordering, and nesting issues.
- To track dependencies of work items, use the Predecessor and Successor link types.
- For all other general tracking purposes, use the Related link type.
The following link relationships are restricted:
- You can't assign a work item more than one parent using a Parent/Child or other tree-topology link type. To learn more about link types, see Link type reference.
- You can't add links in such a way as to create a circular relationship.
- You can't link more than 1,000 work items to a single work item.
Prerequisites
Backlogs are automatically created when you create a project or add a team. Each team has access to their own product, portfolio, and sprint backlogs as described in About teams and Agile tools.
- You must connect to a project. If you don't have a project yet, create one.
- You must be added to a project as a member of the Contributors or Project Administrators security group. To get added, Add users to a project or team.
- To add or modify work items, you must be granted Stakeholder access or higher. For details, see Stakeholder access quick reference.
- To view or modify work items, you must have your View work items in this node and Edit work items in this node permissions set to Allow. By default, the Contributors group has this permission set. To learn more, see Set permissions and access for work tracking.
- To use the Planning pane, the sprints that you want to assign work to must have been selected for your team by a team administrator. To learn more, see Define iteration (sprint) paths and configure team iterations.
Note
Users with Stakeholder access for a public project have full access to backlog and board features just like users with Basic access. For details, see Stakeholder access quick reference.
- You must connect to a project. If you don't have a project yet, create one.
- You must be added to a project as a member of the Contributors or Project Administrators security group. To get added, Add users to a project or team.
- To add or modify work items, you must be granted Stakeholder access or higher. For details, see Stakeholder access quick reference.
- To view or modify work items, you must have your View work items in this node and Edit work items in this node permissions set to Allow. By default, the Contributors group has this permission set. To learn more, see Set permissions and access for work tracking.
- To use the Planning pane, the sprints that you want to assign work to must have been selected for your team by a team administrator. To learn more, see Define iteration (sprint) paths and configure team iterations.
Link several work items
From the web portal, open a backlog or query results page, and multi-select the work items you want to add a link to.
Open the … context menu of one of the selected work items, choose Add link, and then choose Existing item... or New item....
Here we multi-select from the product backlog and choose Existing item....
Link to an existing work item
When you link work items, you select a link type. In general, use the following link types as indicated. To learn more about each link type, see Link type reference.
- Use the Duplicate link type when two work items have been created that essentially capture the same information; close one of the work items and keep the other one active
- Use the Parent/Child link types when you want to break down work items into smaller items--for example, break down features into stories, or stories into tasks
- Use Predecessor-Successor link types when you want to track tasks that must be completed before others can be started; this link type is most often used when you plan work using Project
- Use the Related link type when the work items being linked are at the same level--such as two user stories that define features that overlap one another--or to link work items that are defined in different projects or managed by different teams.
From the Add link dialog, select the link type, enter a work item ID, and then choose OK.
For example, here we use the Related link type to link three items to the bug with ID of 400.
To link to multiple work items, you can use inline add which finds work items based on your recent activity or keyword searches. Select one or more of the work items displayed automatically based on your recent activity, or enter a keyword. Keyword searches will display work items based on work items that include that keyword in their title.
Note
You need to add each link one at a time. (You can no longer enter their IDs separated by commas or spaces.) To quickly find work items of interest, you can also use work item search.
To view the work items selected for linking, you can choose the
.
To link to multiple work items, enter their IDs separated by commas or spaces. If you don't know the IDs or you want to link to an item in a different project, you can choose
More actions to open a dialogue that will support you in choosing work items that are based on IDs, a query, or title keyword.
If you're working from the Query Results page, you'll need to bulk save the work items you've modified. When you work from a backlog, work items are automatically saved.
Change the link type of an existing link
Note
The Edit link feature requires you to enable the New Boards Hub preview feature. To enable this feature, see Manage or enable features.
Open the work item whose link you want to edit, and choose the Links tab.
Choose
More actions for the link you want to change, and then choose the Edit link option.
Choose the link type to change to, and then choose Save.
Save the work item to complete the action.
Link to a new work item
Here, we've selected to add a link to the selected work items.
Specify the link type, work item type, and title of the new work item. Choose OK.
A work item of the type selected opens. Enter additional information and save the work item.
If you're working from the Query Results page, you'll need to bulk save the work items you've modified as shown in the previous procedure.
Link to a remote work item
You can link work items to objects defined in other Azure DevOps organizations as long as both organizations use the same Azure Active Directory to manage users.
Choose from one of the following two remote link types supported.
- Use the Consumes From/Produces For link types when you want to track dependencies of work items that are defined in different organizations and managed by different teams.
- Use the Remote Related link type when the work items being linked are defined in different organizations and managed by different teams, but don't have strong inter-dependencies.
From the Add link dialog, select the link type, enter the URL of the remote work item, and then choose OK.
For example, here we use the Remote Related link type to link to work item ID 350 that exists in the remotelinkingtest2 organization, RemoteLinking project.
The link tab maintains a count of all links to the work item. The Remote Link Count field maintains a count of the number of links added to a work item that link to a work item defined in another project or organization.
The following image shows an example of two remote links, indicated by the
cloud icon, added to a user story.
Link several work items to a new git branch
You can add a new git branch and link them to existing work items at the same time.
From a backlog or query results page, multi-select the work items you want to link to a new git branch, choose the
actions icon, and then New branch.... To learn more, see Link work items to Git development objects.
Link work items to a build in same or other projects
You can link work items to existing builds from the Add link dialog. These builds can be within your project or to other projects in your organization or collection.
Note
This feature requires installation of Azure DevOps Server 2020.1 update. To learn more, see Azure DevOps Server 2020 Update 1 RC1 Release Notes, Boards.
From the Links tab of a work item, choose Add link>Existing item.
From the Add link dialog, choose one of the build link types—Build, Found in build, Integrated in build— and specify the build number.
If you don't know the build number—a combination of the pipeline and build name—you can search for it by choosing the
icon.
From the Link builds dialog, choose the parameters to filter your search of builds.
If linking to a build in a different project, then first choose the Project whose build you want to link to.
For example, you can specify a build number, select a build pipeline, a build result—such as, All, succeeded, partially succeeded, failed, or canceled. Or, with All selected for Result, choose Find to list the available builds to link to.
Choose the build from the list you want to link to and then choose OK.
From the Add link dialog, choose OK to complete the operation.
Link work items to a build
You can link work items to existing builds from the Add link dialog.
From the Links tab of a work item, choose Add link>Existing item.
From the Add link dialog, choose one of the build link types—Build, Found in build, Integrated in build— and specify the build number.
If you don't know the build number—a combination of the pipeline and build name—you can search for it by choosing the
icon.
From the Link builds dialog, choose the parameters to filter your search of builds.
For example, you can specify a build number, select a build pipeline, a build result—such as, All, succeeded, partially succeeded, failed, or canceled. Or, with All selected for Result, choose Find to list the available builds to link to.
Choose the build from the list you want to link to and then choose OK.
From the Add link dialog, choose OK to complete the operation.
Find work items to link to
From the Add link dialog, you can open a secondary dialog to help you choose one or more work items to link to. If you're going to find and list work items to link to by using a saved query, first define the query that you want to use.
From the Add link dialog, choose the … context menu or Browse button (Visual Studio) to open the following dialog.
If the work items are defined in another project, then first select the Project. Then, make your selections:
Query. Use this method when you've defined a query that you know contains the set or superset of the work items that you want.
IDs. Use this method when you know the IDs of the work items that you want to link to. In the IDs box, type the IDs of the work items that you want to find, separated by commas or spaces.
Title contains. Use this method to find work items that have a common word or phrase in the title field. In the and type list, select the type of work item that you want to retrieve.
Note
To minimize the time required to run the query, narrow the filter criteria of the search.
Select the Find button.
Only those work items defined for the selected project and specified work item type are listed. To sort on a column field, choose the column title.
In the list of returned work items, select one or more work items.
From the web portal: To select several items in a sequence, hold down the shift key. To select several non-sequential items, use the Ctrl key.
For Visual Studio, select each work item that should link to the current work item. You can also press the SHIFT key while clicking to select a range of work items, or press the CTRL key while clicking to select multiple work items.
Set work item state in pull request
When you create a pull request, you can set the state value of the linked work items in the description. Follow the syntax: {state value}: #ID
.
When you merge the pull request, the system reads the description and updates the work item state. In the following example, we set work items #300 and #301 to Resolved, and #323 and #324 to Closed.
Note
This feature requires installation of Azure DevOps Server 2020.1 update. To learn more, see Azure DevOps Server 2020 Update 1 RC1 Release Notes, Boards.
To learn more about this feature, see Link to work items from other objects.
More options for modifying links in bulk
Other features you can use to quickly link or change links that use the parent-child link type (some features are version-dependent, see the linked article for details):
- To quickly link backlog items to portfolio backlog items with parent-child links, use the mapping pane to organize your backlog. Or, you can choose to Show Parents and drag-and-drop items within the tree hierarchy.
- To create and link tasks to backlog items, use the sprint backlog page.
- To indent (
), outdent (
), and change the tree hierarchy, use a tree query in Visual Studio.
- To add or delete work items or change the link structure, you can use Excel. See Bulk add or modify work items with Excel.
View list of linked objects
To view the list of all objects linked to a work item, open the work item and choose the
Links tab. The links tab indicates the count of all linked objects.
Linked objects are grouped under their link type, with a count within each group. You can expand or collapse each group, and sort within each group by State, Latest Update, or Comment by choosing the corresponding column title.
For example, the following Links tab shows a portion of the 64 linked objects for a work item.
Links prefaced with the
red exclamation mark indicate that the build, release, or other object has been deleted. This is usually due to retention policies which automatically delete these objects after a certain time period has passed.
Add, remove, and show links using Azure CLI
You can add, remove, and show details of links made to a work item using link types supported by your organization with the az boards work-item relation command. To get started, see Get started with Azure DevOps CLI.
Link types include work link types, remote link types, hyperlinks, and attached files. For a list of all link types that you can specify, run the az boards work-item relation list-type command.
az boards work-item relation add
az boards work-item relation remove
az boards work-item relation show
In the following examples, the organization is fabrikam and the project ID corresponds to cebd7ef5-4282-448b-9701-88c8637581b7. The table format is used to show the output. For other formats, see Output formats for Azure CLI commands.
Link work items
To link one or more work item to a single work item, enter the az boards work-item relation add command.
Syntax
Required parameters include the ID of the work item to link to and the link type. Supported link types include Parent, Child, Related, Remote Related. For a list of all link types that you can specify, run the az boards work-item relation list-type command.
For work items defined within the same organization, you must specify the work item ID or target URL. For work items defined in a remote organization, you must specify the target URL. You can specify multiple values by separating IDs or URLs with a comma.
az boards work-item relation add --id
--relation-type
[--detect {false, true}]
[--org]
[--target-id]
[--target-url]
Example
The following command links work item ID=2807 to work item ID=2794 with the Child link type. The command returns a list of all links currently defined for the work item.
az boards work-item relation add --id 2794 --relation-type Child --target-id 2856 --output table
Are you sure you want to remove this relation(s)? (y/n): y
Relation Type Url
--------------- -------------------------------------------------------------------------------------------------
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2850
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2808
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2820
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2856
Parent https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2811
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2876
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2801
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2877
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2805
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2807
To view the information for the linked work items, enter one of the URLs listed in your browser.
Remove work item links
To remove one or more linked work items from a single work item, enter the az boards work-item relation remove command.
Required parameters include the ID of the work item to remove the link from and the link type. You can only remove links to work items defined in the same organization. You can specify any of the supported link types except remote link types.
You must specify the target work item ID. You can specify multiple values by separating IDs or URLs with a comma.
Syntax
az boards work-item relation remove --id
--relation-type
--target-id
[--detect {false, true}]
[--org]
[--yes]
Example
The following command removes the link to work item ID=2794 from work item ID=2856 to work item with the Child link type. The command returns a list of all links currently defined for the work item.
az boards work-item relation remove --id 2794 --relation-type Child --target-id 2807 --output table
Are you sure you want to remove this relation(s)? (y/n): y
Relation Type Url
--------------- -------------------------------------------------------------------------------------------------
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2850
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2808
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2820
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2856
Parent https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2811
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2876
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2801
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2877
Child https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2805
To view the information for the linked work items, enter one of the URLs listed in your browser.
Show details of links made for a single work item
To view the work items linked to a single work item, enter the az boards work-item relation show command. For a list of all link types that can be returned, run the az boards work-item relation list-type command.
Syntax
az boards work-item relation show --id
[--detect {false, true}]
[--org]
Example
The following command lists the details of links defined for work item ID=2931 in the fabrikam organization in table format.
az boards work-item relation show --id 2931 --output table
Relation Type Url
--------------- -----------------------------------------------------------------------------------------------------------------------------------
Related https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2932
Successor https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2932
Remote Related https://dev.azure.com/fabrikam-fiber5/847568d2-6541-4a99-a240-228510ccbff7/_apis/wit/workItems/1777
Parent https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2930
Predecessor https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/workItems/2933
Attached File https://dev.azure.com/fabrikam/cebd7ef5-4282-448b-9701-88c8637581b7/_apis/wit/attachments/1cc6c026-b4ed-420c-bfe6-065be726cba7
To view the information for the linked work items, enter one of the URLs listed in your browser. Choose the URL for an attached file to download the attachment.
Related articles
Feedback
Submit and view feedback for