Integrate Jira and Azure DevOps so work items update automatically on both sides. Status changes, comments, attachments, and custom fields your teams stay aligned without switching tools.
Dev teams run Azure DevOps. Product and project teams run Jira. The Jira-Azure DevOps integration keeps both in sync without forcing either team to change tools.

sync issue types, labels, priority, status...
sync any custom fields, attachments...
sync comments, worklogs, history...
Sync type, title, creator...
sync status, description, priority...
sync attachments, custom fields...
sync comments...





Use one or two-way mappings to configure fields to precision. Decide what gets synced and what doesn’t.

+20 fields are supported, including:

Jira Software (Cloud and Data Center)
Jira Service Management
(Bugs, Tasks, Stories…)
+40 fields are supported, including:
All fields are supported, incuding:
Easily connect multiple projects, instances, and platforms. With local, or external partners.
Set your sync rules to make sure the right data is shared.
Prompt Exalate’s AI to generate rules, or fine-tune with Groovy-based custom mappings and logic for complete control.
Set triggers to automate your sync based on specific conditions.
Now your connected instances will exchange information automatically. Happy syncing!




Two-way, real-time sync between platforms. Updates flow automatically. No manual exports, no delays.

Connect multiple projects, instances, and platforms. Use different rules for each connection.

Get AI-powered recommendations for resolving the issue, including possible fixes and next steps.

Describe your integration goal. Aida reviews your sync rules and connector type, then suggests script changes

Set various conditions for automatic synchronization.


Check the real-time status of your active syncs, spot failures, and trigger a manual push. All from a browser extension, without opening the Exalate console.

Alexander Sinno |
Exalate comes with default sync rules, that can be adapted to your specific needs.
Build your unique integration rules with just a few lines of Groovy Script – or a few prompts.

Work with simple integration templates. Or, completely customize your sync. Some common use cases:
Set up two-way syncs to link new and existing work items.
Share data between fields, including comments, descriptions, attachments, statuses, priorities, urgencies, work logs, custom fields, and much more.
Add custom triggers to exert granular control over how your Jira Azure DevOps sync works.

Add and share attachments to work items without having it reflect on the Jira issue. Filter the attachments you want to share with the other side of the integration.

if(firstSync){
issue.projectKey = “JSM”
issue.typeName = nodeHelper.getIssueType(replica.type?.name, issue.projectKey)?.name ?: “[System] Service request”
}
replica.addedAttachments.each { a ->
def comment = commentHelper.addComment(“!${a.filename}!”, [])[0]
comment.internal = true
comment.restrictSync = true
issue.comments += comment
}
issue.attachments = attachmentHelper.mergeAttachments(issue, replica)
replica.addedComments.each { it.executor = nodeHelper.getUserByEmail(it.author?.email) }
replica.changedComments.each { it.executor = nodeHelper.getUserByEmail(it.updateAuthor?.email) }
issue.comments = commentHelper.mergeComments(issue, replica, {it.internal = true; it})

Map all features coming from Azure DevOps to appear under a Jira (Cloud) Epic. Retain the same hierarchy when sending data over to Jira.

if(firstSync){
workItem.projectKey = “Majids Development”
def typeMap = [
“Epic” : “Feature”,
“Story” : “Task”
]
workItem.typeName = nodeHelper.getIssueType(typeMap[replica.type?.name],workItem.projectKey)?.name ?: “Task”
workItem.summary = replica.summary
if(replica.issueType.name==”Epic”)
workItem.parentId = “9785”
store(issue)
}
. . .

Configure your custom sync to enable the syncing of inlin e images between Azure DevOps and Jira On-Premise.

import com.atlassian.jira.component.ComponentAccessor
class WikiToHtml {
static String transform(String wikiFormat) {
if (!wikiFormat) {
return null
}
. . .
def fixImage = wikiFormat?.replaceAll(/\!(\S+)\|\S+\!/, ‘<!– inline image filename=#$1# –>’)
fixImage = fixImage.replaceAll(/\!\^(\S+)\|\S+\!/, ‘<!– inline image filename=#$1# –>’)
fixImage = fixImage.replaceAll(/\!\^(\S+)\!/, ‘<!– inline image filename=#$1# –>’)
fixImage = fixImage.replaceAll(/\!(\S+)\!/, ‘<!– inline image filename=#$1# –>’)
. . .
}
replica.description = WikiToHtml.transform(issue.description)
replica.labels = issue.labels
replica.comments = issue.comments.collect {
comment ->
comment.body = WikiToHtml.transform (comment.body)
comment
}




Christof Cuyper |

Exalate offers a 30-day Free Trial
Small teams with straightforward synchronization needs
Growing teams with moderate synchronization volume
Organizations needing enterprise systems
pricing per integration starts atThis is the entry price for the lowest-cost integration. Your price depends on which systems you connect, items in sync, environments, SLA/support, and add-ons. To get a tailored quote, contact sales.
$
550
/mo
Billed annually
Large-scale deployments with custom requirements
Let's talk
Get in touch for your custom pricing














& more





Answers to the most frequently asked questions
It’s a connection between your Jira instance and Azure DevOps that keeps issues and work items synchronized automatically. When something changes on one side, the linked item on the other side updates too.
Install Exalate on both platforms, initiate a connection from one side, and accept it on the other. You then configure which fields, issue types, and projects are in scope. Basic integration is ready in about 15 minutes.
Yes. You can integrate Jira and Azure DevOps bidirectionally so both systems stay current. You can also set it up as a one-way integration if your workflow only needs data flowing in one direction.
Over 40 Jira fields and 20 Azure DevOps fields: status, priority, comments, attachments, descriptions, custom fields, tags, assignees, and more. You control the mapping per field.
Yes. Exalate supports Jira Cloud and Data Center, and Azure DevOps Cloud and Server. The integration setup is the same across deployment types.
Yes. There’s no limit on the number of connections. You can set different sync rules for each project pair and manage them all from a central Sync Room.
Yes, you can use Exalate to connect multiple Jira and Azure DevOps instances. This integration solution helps to streamline collaboration between developers, salespersons, marketers, and support agents. Exalate supports other ITSM tools like ServiceNow, Zendesk, Salesforce, and GitHub.