






Connect Jira and Azure DevOps using a reliable, flexible integration solution. Improve the productivity of your cross-team and cross-company collaborations.
Automate data transfer workflows and get rid of silos with a bidirectional Jira Azure DevOps integration tool.
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. Your sync, your rules.
Check the full list of supported fields for Jira and for Azure DevOps
Automate your integration process between Jira and Azure DevOps to improve productivity.
Increase transparency by eliminating information silos between internal and external teams.
Automatic triggers to streamline synchronization
Real-time status updates on work items
Reliable one and two-way syncs from either side of the connection
Top-notch reporting for authorized stakeholders
Automatic restarts after downtimes
Unlimited sync capacity for Jira issues, sprints, etc.
Its hard to talk about supported fields, because with Exalate you can support a lot. And it is impossible to capture on a single page. We have done cases with very weird things - certainly not limited to the ones listed on the documentation.
Majid Hassan | Exalate Support Engineer
Start all cross-team connections from either Azure DevOps or from Jira, whichever option you prefer. You can install the app with a straightforward installation wizard on both Jira and Azure DevOps.
Improve the speed and accuracy of syncs by using custom automated triggers. Configure your triggers with platform-native query language to establish granular control over every sync.
Use the custom Bulk Exalate feature to make your synchronization workflow more efficient. Connect multiple existing entities with similar trigger configurations in one operation.
Use the Groovy scripting engine to explore endless connection scenarios and syncing possibilities. We have a few sample code snippets in our stash to get you started. Non-technical users can also use Visual Mode to create mappings with little or no code.
Maintain independent control over every sync, especially for cross-company integrations. Keep your confidential information close to your chest, with no need to share admin rights.
Start working with out-of-the-box connections for basic synchronization scenarios. Continue growing with the help of script-based custom connections.
Protect your sensitive data from unauthorized users. Let Exalate’s single-tenant architecture help you maintain autonomous control over your instance.
Protect your sensitive data from unauthorized access with our single-tenant architecture that works even behind your firewall. Stay ahead of any data breach or suspicious activity using advanced endpoint detection and response (EDR).
Spot errors as soon as they occur and track them down to the source. Get the first crack at debugging your code before asking a technician.
Alexander Sinno |
Install the Exalate app on both Jira and ServiceNow. Or, have it as a bridge app on ServiceNow.
Use the instance URL to connect the instances you want to integrate. Choose the no-code set-up or the Script mode.
Configure your sync rules to make sure the right data is shared. Automate your sync with triggers.
Now your instances are connected and will automatically exchange information instantly. Happy syncing!
Exalate Script Mode just got better.
Minimize the time spent searching for relevant scripts or writing them from scratch. AI takes care of the complexity so you can focus on what matters most!
Speak with one of our engineers and discover how Exalate can be custom-fit to your unique integration scenario
Work with simple integration templates or completely customize a sync between Azure DevOps and Jira.
Set up two-way syncs to link new and existing work items (defects, components, test suites, test plans, test cases, etc).
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 |
Answers to the most frequently asked questions
You can sync work item type, title, description, priority, state, comments, attachments, custom fields, area path, tags, etc, on Azure DevOps. On Jira, you can sync summaries, descriptions, comments, attachments, assignees, reporters, labels, priority, due, work logs, custom fields (check box, cascading select, group picker), components, organizations, issue links, agile boards, versions, etc. To explore further sync possibilities, use the advanced scripting mode.
Exalate’s no-code Basic Mode is free to install and use for simple synchronization tasks. To get the advanced Script Mode, you need to buy the Premium Plan after a 30-day trial.
We offer Standard and Premier Support to our customers depending on their needs and the running service-level agreement. As part of our Premier Support, we’ll assign a dedicated support agent to assist with your problem. You’ll also get up-to-date progress reports about critical production issues.
Exalate has a built-in error recovery mechanism that allows you to fix problems and resume synchronization from the moment it fails. You can use the troubleshooter to examine the error stack trace to determine if the error occurred at the entity, connection, or application levels.
Jira sends data as a Wiki, while Azure DevOps uses HTML. To handle the formatting differences, Exalate uses converters (called Transformers) to change the incoming or outgoing data to the corresponding format on either side of the sync. One application of transformers is the synchronization of inline images between Jira and Azure DevOps. Transformers can convert HTML to Wiki, Markdown to Wiki, or Wiki to HTML.
Yes, Exalate supports single-tenancy, thus isolating your infrastructure and minimizing the risk of information leakage. When you deploy a node on the Exalate Cloud, it runs inside a ‘Kubernetes pod’ configured to prevent information leaks. You can also add a firewall as extra protection.
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.