Teams using Jira products (Software, Service Management, and others) can sync information from issues, epics, and other entities with corresponding GitHub issue fields.
You need a dedicated integration solution for this. One option is the native solution on the Atlassian Marketplace, but this tool supports only a few entities.
The other option I’d recommend is the third-party integration solution, Exalate. This solution provides a scripting engine for mapping the incoming and outgoing data on both Jira and GitHub.
Here’s how it works.
The Exalate app is available on our integrations page. Or you can download it directly from Atlassian and GitHub marketplaces.
For a visual guide, watch the Jira installation videos here and the GitHub installation videos here.
First, outline the integration requirements for both sides to help you create mappings for projects, fields, and entities. Then, set up a connection between Jira and GitHub.
To create a connection, open the Jira instance and enter the URL for the GitHub instance.
Choose a configuration option. Exalate supports two modes for Jira to GitHub integration: Basic and Script.
The Basic mode supports basic entity mappings but you cannot configure the integration. The Script mode supports advanced configuration and scripting.
To learn how to script your Exalate connections, check out the detailed configuration guide.
The Exalate console supports the Groovy scripting language for configuring one-way and two-way syncs.
The console makes it possible to map data from projects, repos, types, assignees, summaries, descriptions, comments, and much more.
The Outgoing sync textbox decides what you want to send the other side, while the Incoming sync textbox decides how (and where) the information from the remote side appears.
Here is a sample line of code for syncing Jira custom fields.
replica.customFields."Custom field name" = issue.customFields."Custom field name" |
The above code snippet populates the custom field in Jira with a value from the GitHub side and vice versa. In the other instance’s incoming sync, make sure to map the value received from GitHub to the correct issue field.
Triggers are conditions that control how your sync works. Once a condition is fulfilled, the sync is automatically carried out.
You can configure triggers using Jira Query Language (JQL) and GitHub’s advanced search syntax.
Here are sample JQL triggers:
|
Here are sample GitHub triggers:
|
You can now sync your data automatically based on the rules and triggers you have set.
To learn more about syncing Jira and GitHub, reach out to us to discuss your use case.
francis
Atlassian expert
Exalate
Belgium
42 accepted answers
2 comments