paint-brush
How to Set up a Bidirectional Jira Azure DevOps Integrationby@exalate
340 reads
340 reads

How to Set up a Bidirectional Jira Azure DevOps Integration

by ExalateOctober 27th, 2023
Read on Terminal Reader
Read this story w/o Javascript

Too Long; Didn't Read

Explore the seamless integration of Jira and Azure DevOps with Exalate, bridging the gap for efficient collaboration and data flow.
featured image - How to Set up a Bidirectional Jira Azure DevOps Integration
Exalate HackerNoon profile picture

This article was written by Johnmary Ugochukwu from Exalate.


Quality assurance teams use Azure DevOps to organize test cases and manage IT services, while customer support teams use Jira Service Management. But the only way to share information seamlessly between them is by using a third-party solution.


So, you need a dedicated Jira Azure DevOps integration that guarantees security and smooth collaboration through automated syncs.


I’ll show you how to set up a bidirectional integration between Jira and Azure DevOps. But first, let’s explore common use cases for this integration.

When Do You Need a Jira Azure DevOps Integration?

The main reason to choose a Jira Azure DevOps integration tool is to guarantee that the right data is flowing between both systems. At the same time, you need a solution you can configure to your custom use case.


Other reasons to integrate Jira with Azure DevOps include improving productivity and increasing the speed of knowledge transfer.

Say you want to add attachments to a project while keeping them private and internal. A Jira Azure DevOps integration will help you send the comments to the right project while keeping it away from other viewers.

You can also maintain a bi-directional hierarchy between synced entities. This will help teams using Jira Cloud and Azure DevOps to understand the relationship between project entities and fields and where they fall within the hierarchy.


The relationship appears as follows:


  • Jira Epic becomes an Azure DevOps Feature.

  • Jira Story becomes an Azure DevOps Task.

  • The issueLinks and custom status mapping must be maintained on both sides.


With a customizable iPaaS solution, you can map any field between Azure DevOps and Jira (Cloud, Data Center, or On-Premise).

What Makes The Right Integration Tool?

Here are some factors to consider before choosing any integration tool for Jira and Azure DevOps.


  • Integration solutions should have the flexibility to adjust to different connection use cases, from simple mappings to complicated connections.
  • The integration solution should have the scalability to handle increasing workloads without experiencing extended outages.
  • Integration security features should be tight and robust enough to protect data at rest or in transit from unauthorized access.
  • Teams involved in online collaboration need a decentralized solution for cross-company collaborations and data integration.
  • When an error occurs, you should be able to troubleshoot the system to understand the cause and source.
  • Support engineers should be on hand for advanced technical issues to provide in-depth assistance.


Exalate is a bidirectional integration solution that allows two-way syncs between Jira and Azure DevOps, as well as other platforms. It also has a single-tenant architecture that guarantees a safe and autonomous ecosystem for both the Jira and Azure DevOps sides.

How to Integrate Jira and Azure DevOps Using Exalate

You need to install Exalate on both Jira (on-premise and cloud) and Azure DevOps before setting up your connection.

Step 1 - Install Exalate on Jira

Search for “Exalate Jira Issue Sync & More” on the Atlassian marketplace.


Exalate for Jira integrations

\Click the “Try it free” button, then select “Cloud” from the options that appear. You can also install Exalate on a Jira Server or Data Center, as well as Docker.


install Exalate on Jira

That’s it! You’ve now installed Exalate on Jira Cloud.

Step 2 - Install Exalate on Azure DevOps

Search for “Exalate For Azure DevOps Integration” in the Visual Studio (Azure DevOps Marketplace).

Exalate for Azure DevOps integrations

Click on “Get” and then select the organization on the screen that appears. \

select an organization for an Azure DevOps integration


Click “Install” to complete the installation. To find the Exalate app, go to “Organization Settings” and click “Extensions”.

Step 3 - Connect Your Instances

Exalate allows you to start the connection from either Jira or Azure DevOps. The process is similar on both platforms.


Initiate Jira Azure DevOps connection


Click on “Initiate Connection”. Enter the destination instance URL in the designated field. If you don’t have a URL, click the “I don’t have a URL” toggle switch.


Exalate configuration types


Exalate supports three configuration modes: Basic Mode (for simple pre-built configurations), Visual Mode, and Script Mode (for advanced scripting configurations).\

Let’s start with the Basic Mode.


initiate basic Jira Azure DevOps connection


Select the project where you want to create work items coming in from the other side and click “Next.”


Confirm that you have admin access and click “Initiate.”



You will be automatically redirected to the remote instance. Choose a project and click “Confirm”. Enter the issue key and click “Exalate” to proceed.


Successful Azure DevOps Jira sync


There you go! You’ve set up your first Basic connection between Jira and Azure DevOps.


Now, let’s explore a Visual Mode connection.


Select the Visual Mode from the three options. Then, enter the connection name and description in the modal that pops up.


Exalate visual mode configuration


Click “Next” to proceed to the next screen. You’ll need to verify administrator permissions to continue.

Admin access visual Jira Azure DevOps sync


Click “Verify Admin Access”. You’ll be redirected to your organization’s Azure DevOps for verification.


Click “Accept” to give Exalate access to your system.\

configure Jira Azure DevOps integration


And that’s it! The Visual Mode connection is set.


Finally, let’s get to the Script Mode.

Initiate connection and verify the destination instance URL. Then, select Script Mode from the available options.


Initiate Azure DevOps Jira connection


Enter the connection name and description before clicking “Next”. Then select the project and click “Initiate”.


Copy the invitation code to your clipboard. Go to the other side and click “Accept invitation”.

Accept a connection between Jira and Azure DevOps


Enter the invitation code from your clipboard before clicking “Next.” Then, select a project and confirm.

Configure sync between Azure DevOps and Jira


Congratulations! You’ve successfully set up a Script Mode connection.

Step 4 - Configure your connection

On the Exalate dashboard, click the “Edit connection” icon next to the connection you want to configure.


Edit Jira Azure DevOps sync


On the “Rules” tab, input fields for “Outgoing sync” and “Incoming sync.” This is where you can customize connections using the Groovy scripting language.

Jira Azure DevOps sync rules


Note*: Follow this step-by-step guide to setting up and configuring a Jira Azure DevOps integration using the script mode.*


For the Visual Mode connection, you can add scripts or use the drag-and-drop editor to map the fields you want to share information from.\


After clicking “Edit Connection,” verify the instance to continue. Then, you will be taken to the screen to define the scope and rules.


Select the projects on both sides and specify the filter entities. You can also choose the sync method: Automatic, Manual, or Disabled.\

Jira Azure DevOps sync methods


You can also add filters for each project, including tags, type, state, priority, title, description, and more.

Visual mode fliters


After setting everything up, click on Save to close the modal. Then click “Next” to finish the scope setup.



Then, you’ll see a comprehensive list of mapping rules, which you can drag and drop to change the order in which they appear.


To add your own mapping, click the “+ Add mapping” button. In the modal, configure the rules and click “Save.”

To add scripts, click on “Add Script” from the dropdown option after clicking the “Add mapping” button.


add scripts to visual Jira Azure DevOps connection


Here, you can write custom rules for the connection.



To edit any sync rule, click on the edit button at the right and make the necessary changes.\

Once done, click “Publish” to save changes. That’s all!

Step 5 - Create Automated Synchronization Triggers

Go to the “Triggers” tab to see all active triggers for automating syncs.


Jira Azure DevOps integration triggers


Click the “+ Create trigger” button.


Exalate triggers


Next, select the type of entity and enter the query. For setting up Azure DevOps triggers, use the WIQL (Work Item Query Language) syntax and specify the repo. For Jira, use the Jira Query Language (JQL).


Once done, click Publish.

Step 6 - Start syncing

You are now set. Start writing rules for your connections to control how both Jira and Azure DevOps instances share data. You can also track errors using the stack trace in the console. And if you want to control tickets in bulk, you can use Exalate’s bulk operations feature.

Bulk exalate for Azure DevOps Jira sync


Go to the “Bulk Connect” tab, select the connection, and upload the work item to issue mapping. Click “Bulk Connect” to complete the process.


Once you understand the basics, you can add further rules or edit the ones you have.

Key Takeaways

With a reliable and secure third-party solution like Exalate, teams can share information seamlessly between Jira and Azure DevOps.

Configuring your connection with Exalate is a straightforward process. You can use the no-code Basic Mode, the drag-and-drop Visual Mode, or the low-code Script Mode.

__Book ademo with__Exalate engineers to discuss your specific use case.