Azure DevOps area and iteration paths do not have a direct replica on the Jira side. So to sync information between both systems, the area and iteration path data has to be mapped to a custom field in the Jira issue.
For this to work, you need a customizable AI-powered integration solution like Exalate. This solution will help you generate the script for mapping paths and maintaining the relationships between the work item and the issue.
What is an Area Path?
An area path establishes a hierarchy for work items related to a specific project. It helps you group work items based on team, product, or feature.
Organizations working on a product or feature can use area paths to establish a hierarchy between teams at every level of involvement. You can assign the same area path to multiple teams.
What is an Iteration Path?
An iteration path assigns work items at the project level based on time-related intervals. Teams can share them to keep track of ongoing projects, specifically for sprints, releases, and subreleases.
When new work items are added to the Sprint backlog, they become accessible via the existing iteration path. You can add up to 300 iteration paths per team.
Sync Area and Iteration Paths: Jira to Azure DevOps Use Case
You can create a custom field in your Jira instance to reflect the data from the iteration and area paths.
How does this help your organization?
- Syncing this data gives more context about the teams involved on the Azure DevOps side.
- It provides context about the timelines and stages of progress for the mapped projects and entities.
Primary Requirements
- Obtaining the right information from the API on both sides.
- Writing or generating the correct sync rules for both the incoming and outgoing data.
- Creating triggers to update the custom fields on Jira automatically.
- Fetching the right string from the area or iteration path.
How Exalate Handles Jira to Azure DevOps Syncs
Exalate supports one-way and two-way integration between Jira and Azure DevOps as well as with Zendesk, ServiceNow, Salesforce, GitHub, etc.
Exalate also supports AI-powered Groovy scripting with the help of a chatbot. Users can also create trigger-based integrations for real-time syncs and bulk operations.
To use Exalate, first install it on both Jira and Azure DevOps. Follow this step-by-step Getting Started guide to connect both of them.
Since this use case requires scripting, you need to choose the Exalate Script Mode.
To configure the sync, open Exalate in your Azure DevOps dashboard, go to the connection you want to edit, and click on the “Edit connection” icon.
You have two options:
- Outgoing sync (on the Azure DevOps side) refers to the data being sent over to Jira.
- Incoming sync (on the Jira side) refers to the data to be received from the work item on Azure DevOps.
Outgoing Sync (Azure DevOps): Send Area and Iteration Path Details from Azure DevOps to Jira
To send out the area and iteration paths from the Azure DevOps work item, use the code below:
replica.areaPath = workItem.areaPath
replica.iterationPath = workItem.iterationPath
The replica
retrieves the values of the area and iteration paths from the work item and saves them as a string.
On the remote side, you can store the area/iteration path in a custom field using a type string or select list.
Incoming Sync (Jira): Set Area Path from Azure DevOps as a Custom Field in Jira
Let’s start with the area path.
The area path starts with the name of the project. For example, an Azure DevOps project called AzureProject handled by Exalate’s dev team could have an area path: AzureProject\\ExalateDev
.
To set the area path based on the value received from the remote side text field, use the code below:
issue.customFields."Area Path".value = replica.areaPath
The issue.customFields."area-path".value
retrieves data from the work item and stores it in the designated custom field on Jira.
Incoming Sync (Jira) Set Iteration Path from Azure DevOps as a Custom Field in Jira
The iteration path shows the name of the project as well as the specific sprint.
For example, an Azure DevOps project called AzureProject in the first sprint could have an area path: AzureProject//Sprint1
If you don’t set the value for the Area field in the Sync Rules, Exalate uses the default area that has the same name as the project.
To set the iteration path based on the value received from the remote side text field, use the code below:
issue.customFields."iPath".value = replica.iterationPath
The issue.customFields."iPath".value
retrieves data from the work item and stores it in the designated custom field on Jira.
Congratulations! You have successfully mapped the area and iteration path to a Jira custom field.
If you still have questions or want to see how Exalate is tailored to your specific use case, discuss it with one of our experts right away.
Recommended Reading:
- Jira Azure DevOps Integration: The Complete Step-by-Step Guide
- How to Sync and Maintain Issue links, Relations, and Sub-task Mappings between Jira and Azure DevOps
- How to Sync Text, Date, and Picklist Custom Fields Between Jira and Azure DevOps
- How to sync priority in Jira to a Picklist custom field in Azure DevOps
- How Companies Benefit from AI-Powered Jira Azure DevOps Integration