Often times, cross-team collaboration comes with using multiple platforms, like Jira and Azure DevOps. A support team logging tickets in Jira Service Management needs to notify developers working in Azure DevOps of issues needing fixed. Teams may log business requirements in Jira, but develop in Azure DevOps. A company that works in Azure DevOps acquires another company working in Jira. They would like to have all historical data in Azure DevOps. The Jira based company also wants their data migrated as is.  Teams are used to working within their tool of choice and would like to keep it that way.

Whether you’re writing code, logging tickets, or performing a company-wide integration, the last thing you want to have to do is manually add or link data in two different places. TFS4JIRA is the trustworthy app that integrates Jira with Azure DevOps, giving users the ability to synchronize or migrate data between platforms. Allowing everyone to work within their tool of choice keeps teams agile and collaborative.

Appfire’s Cloud Native version of TFS4JIRA is a SaaS application that is ready to go the moment it’s added.

Here’s a run-down of a few of the features that will help your cloud environment work like a breeze.

Mapping issue and work item types, fields, and values

Jira issues and Azure DevOps work item types can be mapped under Mappings > Types. Define which Jira and Azure DevOps fields should be synchronized within the user’s sync profile under Mappings > Fields. You can also define how fields values are converted during synchronization, so each system receives the correct value. Defining these items personalizes the user experience and ensures that no data is left behind.

Issue/work item linking

Users can synchronize all issue/work item links, including related, blocked, cloned, duplicated, and custom links, which can be configured in the Mappings > Links section. This gives users the ability to access links within their preferred platform, whether that be Jira or Azure DevOps. Staying within their tool of choice keeps them efficient, productive, and knowledgeable.

Hierarchy synchronization

Synchronizing and maintaining project hierarchy levels between Jira and Azure DevOps is simplified with TFS4JIRA. The Jira hierarchy has three different issue types: Epics, Stories, and Sub-tasks.

The Azure DevOps hierarchy is made up of Parent/Child links between work items, and levels are dependent on the process chosen for the project.

Users can customize their hierarchy sync by choosing how Epics are mapped, which can be found under Mappings > Hierarchy. When the “Epics synchronization” is chosen, a drop-down of Azure item types appears. The best choice for the project can then be selected.

While sub-tasks technically lie within the Jira hierarchy, we have provided a separate mapping option, allowing users to synchronize sub-tasks only or the whole project structure. As with the hierarchy option, a dropdown of Azure item types displays the mapping options.

To support more complex hierarchies, we’ve created a multi-level hierarchy synchronization option. Because the Azure DevOps hierarchy can consist of more than three levels and Jira supports only three, a Jira relation link must be created, which users can select under Configuration > Mappings > Hierarchy.

This relation can link to Epic (making the Epic a child issue), Subtask (making the Subtask a parent issue), or any issue in between. Multi-level hierarchy synchronization keeps your projects whole, making TFS4JIRA the most reliable choice for your platform integration. 


Filters synchronization further defines the scope of issues or work items to be synchronized. The power of JQL (Jira Query Language) is leveraged to supercharge filtering and synchronizing with Azure’s WIQL (Work Item Query Language). This means a configuration can be customized to support unique use cases.

To use the filters sync feature, you’ll need to have already created a sync profile, because the conditions will be applied on top of the configured projects and Item types. Project and issue type can only be modified through profile configuration.

In the above example, a support team needs developers’ assistance, so a Jira ticket is submitted, labeled “development”. By configuring a filter for “development,” developers working in Azure DevOps can track when issues are added to the backlog.

When clicking “See in Jira”, you would see the following: project = ‘TFS4JIRA’ AND issuetype in (‘Epic’,’Task’,’Bug’,’Story’) AND (Labels = development). TFS4JIRA is the project the user is synchronizing, and the issue types the user has defined within their sync profile are Epic, Task, Bug, and Story. Within those issue types, they are looking for issues labeled “development”. For more information, you can refer to Advanced search with Jira Query Language and Azure DevOps (WIQL) syntax reference.

The app allows users to validate their JQLs/WIQLs without any impact to current or future synchronizations. It also restricts saving filters to only those that are valid.


Issue/work item linking: Users can synchronize all issue/work item links including related, blocked, cloned, duplicated, and custom, so teams can access records within their preferred platform.

Hierarchy synchronization: Hierarchy and multi-level hierarchy synchronization keeps projects whole, delivering accurate and reliable data.

Filters: Filters synchronization further defines the scope of issues/work items being synchronized with the power of JQL and WIQL.

Teams at Appfire are constantly innovating to solve big challenges. If there is anything you’d like to see, please don’t hesitate to contact us

You can try TFS4JIRA for Jira Cloud for free

If you are looking to migrate from Azure DevOps to Jira, or vice versa, read this guide.

Last updated: 2023-01-24

Recent resources

Back to Top