The Azure DevOps integration guide is intended primarily for system administrators that set up tool integration. The guide includes sections that require you to examine your current Azure DevOps hierarchy to document your configuration and help us understand how it is structured. It may be beneficial to collaborate with a Jira Align Solutions Architect when conducting procedures and exercises contained within this guide.
Jira Align's Azure DevOps integration enables enterprises to plan their strategic work in Jira Align and have that work sent to Azure DevOps for execution by teams. As teams complete their work in Azure DevOps, detailed information, such as story and task completion, is sent back to Jira Align for reporting at the Program, Portfolio, and Enterprise levels. The bidirectional integration connection is managed by Jira Align Azure DevOps Connector.
This guide will help system administrators to seamlessly integrate the two tools, allowing mappings between the applications to facilitate data and workflow synchronization.
Azure DevOps provides three default process templates: Agile, Scrum, and CMMI. Jira Align integration with Azure DevOps accommodates all three default processes. The default processes differ mainly in the work item types they provide for planning and tracking work as well as differences in work states. However, the processes share enough commonalities that a singular integration approach, defined in this guide, will work for all default processes. The integration will also support customized process templates, however, certain fields must be included to ensure the necessary data is copied between systems. See the fields section below.
For templates that do not inherit from the Agile, Scrum, or CMMI template, we cannot guarantee appropriate data will be available for reporting and other uses. With some older templates that do not inherit from the three templates or from the Basic template, the ADO API will not provide the data necessary for the connector to work. This problem is limited to ADO on-premise instances that were upgraded from TFS that used a non-inherited template.
Jira Align and Azure DevOps integration
Azure DevOps allows for hierarchical team area and iteration configurations. While there are an infinite number of ways these could be arranged and combined in order to successfully scale your organization and integrate with Jira Align, your organization must follow the Microsoft-recommended approach for scaling Agile teams in Azure DevOps.
At a high level this means:
- A project for portfolio-level work. Establish a portfolio-level area to aggregate your epics in.
- Child areas below the project for program-level work. Establish a program-level area to aggregate your features in.
- Child areas one level below the program for team-level work. Establish a team-level area to aggregate your stories in.
The configuration of the connector allows for programs to begin more than one level below the project level (named AgilePortfolio in the example above). The important things to keep in mind for configurations like this are:
- All area paths that represent programs must exist at the same number of levels down from the top (e.g., AgileProgram1 and AgileProgram2 are both in level 2 in the example above.)
- All area paths that represent agile teams must exist at the same number of levels down from the top (e.g., AgileTeam1 and AgileTeam 3 are both in level 3 in the example above)
- All areas that represent agile teams must be below the area path that represents the program to which the teams belong. For example, AgileTeam3 will be placed in the AgileProgram2 program in Jira Align.
- More than one area path that represents a program may be mapped to a single program in Jira Align.
An iteration to represent program increments
- The ADO path must have an end date that is the same (or within configured buffer days) of a Jira Align program increment
- Iteration paths to represent sprints within program increments
- Iteration paths that represent sprints must be descendants of the iteration path for the related program increment
- Iteration paths that represent sprints must have end dates that are the same (or within configured buffer days) of a Jira Align program increment
- Iteration paths that represent sprints within the same program increment should be on the same cadence and no two sprint iteration paths can have the same end date.
- It is possible to use a staggered cadence for teams on the same anchor sprint by making cadence-oriented iteration paths at a level below the “anchor” sprints. When using this strategy, items created in Jira Align will initially be placed in the iteration path that is directly connected to anchors and teams can move them into the iteration path that represents the proper cadence without affecting the synchronization with Jira Align.
- Program increment levels and anchor (sync) sprint levels must include end dates.
As with area paths, the important configuration need for iteration paths is consistency. Paths that will represent iterations in Jira Align must be at the same number of levels down the tree and be under the iteration path that will be linked to a program increment in Jira Align.
For more detailed information and setup instructions, refer to these articles:
When the Jira Align Azure DevOps Connector is configured and enabled, data is mapped automatically between Azure DevOps and Jira Align during a synchronization process. The connector works with the Azure DevOps .NET Framework API to deliver a near real-time, bidirectional integration.
The following concepts are key to the Jira Align and Azure DevOps integration:
- Jira Align Azure DevOps data integrations are defined at the Project level within Azure DevOps.
- An Azure DevOps project maps to a portfolio within Jira Align.
- Portions of the area or iteration path hierarchy can be omitted from the integration using an “exclude” function during the source configuration.
- Azure DevOps area paths map to Jira Align teams no matter how Azure DevOps teams are configured.