paint-brush
How to Set up a Bidirectional Jira GitHub Integrationby@exalate
885 reads
885 reads

How to Set up a Bidirectional Jira GitHub Integration

by ExalateSeptember 19th, 2023
Read on Terminal Reader
Read this story w/o Javascript

Too Long; Didn't Read

To bridge the gap between development teams using GitHub and service teams using Jira, a bidirectional integration is needed. This guide explains how to set up this integration using Exalate, a third-party tool. It outlines when such an integration is needed and factors to consider when choosing an integration tool. The steps for integrating Jira and GitHub using Exalate are provided, including installing Exalate on both platforms, connecting the instances, configuring the connection, and creating automated synchronization triggers. Common integration scenarios are also discussed, such as collaborating with open-source communities, streamlining customer service and engineering collaboration, and improving product development and quality assurance processes.

People Mentioned

Mention Thumbnail
featured image - How to Set up a Bidirectional Jira GitHub Integration
Exalate HackerNoon profile picture


Here is a common scenario in most organizations: The development team is using the GitHub repository, while the service team is using Jira Service Management. However, sharing information proves challenging since both teams are on platforms that are not cross-compatible.


To bridge the gap, the project manager introduces a third-party Jira GitHub integration to aid both teams in sharing data automatically.


In this guide, I’ll show you how to set up a bidirectional GitHub integration with Jira.

When Do You Need a Jira GitHub Integration?

Following the example scenario mentioned earlier, developers and customer service teams need a  Jira to GitHub integration to share data and centralize efforts.


Suppose a customer lodges a complaint with the service team. In that case, the reporting agent will create a Jira issue with a description, which will also be visible to developers on the GitHub issue.


Now, when the developer makes changes to the issue — or it is resolved — the changes will also reflect on the Jira issue. No need for manual updates; no need to leave their respective work management platforms.


Another case for using Jira GitHub issues integration is to replicate the Epic-child relationship using GitHub Task lists. This helps maintain a semblance of hierarchy on GitHub when sharing information from multi-tiered Epics.


There are other Jira GitHub integration benefits and use cases, but you have to choose the right iPaaS solution to explore these possibilities.


How to Choose the Right Integration Tool

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


  • Flexibility and Scalability

    The GitHub to Jira integration solution should be able to adapt to different synchronization scenarios through the use of customizable mappings or scripting engines. This will help teams adjust their workloads without overloading the network.


  • Security

    You need a Jira and GitHub integration tool that guarantees security because you are giving it access to your codebase and repository. So, always look out for role-based access controls, as well as authentication and encryption protocols.


  • Decentralization

    As part of security, you need to isolate your system architecture, especially for cross-company collaborations. Choosing an integration tool with a single-tenant architecture gives you autonomous control over your company’s synchronization.


  • Versatility

    Integration solutions for Jira and GitHub should be able to handle different integration scenarios. Whether it is a simple mapping or a complex, code-based integration, the tool should be able to handle it gracefully.


  • Reliability

    The integration should have the capacity to handle increasing loads while maintaining maximum uptime. If a connection fails, the integration should be able to resume automatically when the connection is restored.


  • Support and error handling

    When an error occurs, the Jira Software GitHub integration solution should provide debugging capabilities. For advanced technical issues, the support team should be able to provide in-depth troubleshooting and assistance.


One Jira GitHub integration solution that checks all these boxes is Exalate — a bidirectional integration solution that allows two-way syncs between Jira and GitHub.


How to Integrate Jira and GitHub Using Exalate

In order to start sharing data and controlling your side of the connection how you want, you need to install Exalate on both Jira (on-premise or cloud) and GitHub.


Step 1 - Install Exalate on Jira

Go to the Atlassian marketplace and search for “Exalate Jira Issue Sync & More”.

Exalate for Jira integrations



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



Install Exalate on Jira


Choose a site or enter the site address. Then, click “Start Free Trial”. You’ll be redirected to your Jira dashboard to confirm the free trial.


Voila! You’ve now installed Exalate on Jira Cloud.


Step 2 - Install Exalate on GitHub

Search for “Exalate Two-Way Issue Sync” in the GitHub marketplace.


Exalate for GitHub integrations




*Click on “Set up plan,” and it will scroll down to the installation panel. Click “Install for free”. Then click “Complete the order and begin the installation”.



Install Exalate on GitHub



On the authorization screen, click “Install” and choose the organization you want to install Exalate on. You will be redirected to the Exalate admin console. Save this link somewhere safe.



Connect Jira and GitHub with Exalate


\Choose whether to give Exalate access to all repositories or a select few. Worry not, you can always change access later.



Authorize Exalate on GitHub


\Click “Authorize Exalate” to give Exalate access to your repos.


Enter your contact details in the Registration screen. Click “Agree and submit” to complete registration. Exalate will now forward a verification email to your inbox.


Go to your inbox and open this verification link. Click “Verify Exalate Instance” on the screen that appears. After verification, you’ll be redirected to the Exalate console.



The next screen that appears will notify you that the validation was successful. Click “Continue” to proceed.


Enter your personal token generated from GitHub. Follow the instructions on the screen to generate a personal access token in the “Token” field.


GitHun personal token for Jira GitHub integration


Click on “Log in” to complete the installation process. And boom! You’re all set to start making connections.


Step 3 - Connect Your Instances

The beauty of Exalate is that it allows you to start the connection from either Jira or GitHub. The process is similar and the interface is identical on both platforms.


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 supports two configuration modes for a Jira GitHub integration:

Basic Mode (for simple pre-built configurations) and Script Mode (for advanced scripting configurations).


Jira GitHub connection modes


Let’s start with the Basic Mode.



initiate basic GitHub Jira connection


Select the project where you want the incoming issues to go and click “Next”.


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


You will be automatically redirected to the remote instance. Choose a repository and click


“Confirm”. Enter the issue key and click “Exalate” to proceed.


Successful Jira GitHub integration


Hurray! You’ve set up your first Basic connection.


Now let’s get to the Script Mode. Initiate connection and verify the destination instance URL as mentioned earlier. But instead of choosing Basic Mode, select Script Mode.



initiate scripted GitHub 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 Jira GitHub sync invitation


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



Configure Jira GitHub sync



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


Step 4 - Configure Your Connection

Back on the Exalate dashboard, go to the connection, and click the “Edit connection” icon.



Edit Jira connection with GitHub



On the “Rules” tab, you will see a scripting engine for “Outgoing sync” and “Inconming sync”. This is where the magic happens. You can customize your connections using the Groovy language.

Jira GitHub sync rules


Step 5 - Create Automated Synchronization Triggers

Next up is the “Triggers” tab. Here, you can see all active triggers for automating syncs.



Automate Jira GitHub integration


To set up a trigger, click the “+ Create trigger” button.



Add triggers to sync



Next, select the type of entity and enter the query. For setting up GitHub triggers, use the GitHub Advanced search syntax and specify the repo. Jira triggers use the Jira Query Language (JQL).


Step 6 - Start syncing

With the triggers set, you can now start writing rules for the Jira integration with GitHub. You can also track errors using the stack trace in the console.


Play around with simple sync rules to figure out how the connection works. Once you understand the basics, you can add further rules or edit the ones you have.



Common Jira GitHub Integration Scenarios

  • Public Git Repository Project: Developers with public code can use GitHub for project management and issue tracking. Jira GitHub issue integration allows you to monitor public discussions privately. You can also assign issues from the public codebase, decide on actions, and sync chosen fields back to GitHub. This ensures collaboration with the open-source community while keeping internal discussions confidential.


  • Customer Service & Engineering Collaboration: Customer service records issues in Jira, some requiring engineering attention. With seamless GitHub Jira ticket integration, relevant issues get automatically transferred to GitHub. Once resolved, solutions are updated in Jira, enabling customer service to communicate fixes to customers.


  • Product Development & Quality Assurance: The QA team ensures products meet global legal standards. They track and address legal issues while continuously monitoring product quality. With GitHub integration for Jira, legal and quality-related issues are auto-sent to the development team in GitHub. As developers resolve issues, the quality team is automatically updated through Jira.

Key Takeaways

Moving data between work management systems can be a difficult task. But with a reliable and secure third-party GitHub and Jira integration solution like Exalate, teams can share information seamlessly.


Configuring your connection with Exalate is a straightforward process. You can use the no-code Basic Mode or go for code-based Script Mode. And if you want to control tickets in bulk, you can Bulk Exalate with custom triggers.


If you have a specific GitHub Jira integration use case and want to know how it can be implemented with Exalate, book a free session with an integration engineer and see it in action!


This article was written by Johnmary Ugochukwu, a technical copywriter at Exalate.