Back
All posts

How to Connect Jira to GitHub Enterprise Server

June 4, 2026
<a href="https://www.freepik.com/free-vector/business-team-brainstorm-idea-lightbulb-from-jigsaw-working-team-collaboration-enterprise-cooperation-colleagues-mutual-assistance-concept-pinkish-coral-bluevector-isolated-illustration_11667116.htm#query=collaboration&position=2&from_view=keyword&track=sph&uuid=21ea3c1d-7461-49c7-9157-5822c4372896">Image by vectorjuice</a> on Freepik

Connecting Jira to GitHub Enterprise Server is not the same as connecting to GitHub Cloud. Enterprise Server runs on your own infrastructure, behind your firewall, which means standard OAuth-based cloud integrations won't work out of the box. This guide covers the specific steps for setting up a Jira integration with GitHub Enterprise Server using Jigit, which supports Enterprise Server alongside GitHub Cloud, GitLab, and Azure DevOps.

Why Enterprise Server Setup Is Different

GitHub Cloud lives at github.com and is accessible from the public internet. Jira Cloud apps can reach it directly via OAuth. GitHub Enterprise Server runs on your own servers — a private URL like github.yourcompany.com that may not be accessible from outside your corporate network.

This creates two challenges:

  • Network accessibility: The Jira Cloud integration needs to reach your GitHub Enterprise Server's API. If your server is behind a firewall with no public access, you need to allow inbound connections from the integration service.
  • Authentication: Enterprise Server uses personal access tokens (PATs) or OAuth Apps configured at the server level, not GitHub Cloud's OAuth flow. The setup process is different.

Most Jira marketplace apps that advertise "GitHub integration" only support GitHub Cloud. Jigit explicitly supports GitHub Enterprise Server because it connects via REST API using personal access tokens — no need for a cloud-to-cloud OAuth handshake that your on-premise server can't participate in.

Prerequisites

Before starting the setup, confirm you have the following:

  • GitHub Enterprise Server 3.0 or later: Older versions may have API compatibility issues. Check your server version at https://your-github-server/api/v3/meta.
  • Jira Cloud instance: Jigit connects your Jira Cloud site to GitHub Enterprise Server. (Data Center is also supported — the setup is similar but configuration happens in the Jira admin panel instead.)
  • GitHub Enterprise Server admin access: You need the ability to create personal access tokens and, optionally, configure webhooks at the organization or server level.
  • Network path from Jigit to your server: Jigit's service needs to reach your GitHub Enterprise Server's API endpoint. This typically means allowing HTTPS traffic from Jigit's IP ranges to your server on port 443.
  • Valid SSL certificate: Your GitHub Enterprise Server must have a valid, trusted SSL certificate. Self-signed certificates cause connection failures that require additional configuration.

Step 1: Generate a Personal Access Token

Log into your GitHub Enterprise Server and navigate to Settings > Developer settings > Personal access tokens > Tokens (classic). Generate a new token with the following scopes:

  • repo — Full control of private repositories (required to read commits, branches, and pull requests).
  • read:org — Read organization membership (required to list available repositories).
  • admin:repo_hook — Required only if you want Jigit to automatically configure webhooks.

Copy the token immediately — GitHub only shows it once. Store it securely; you'll need it in the next step.

Step 2: Configure Jigit in Jira

In your Jira Cloud instance, navigate to Apps > Manage apps > Jigit and open the configuration panel. Add a new connection with these settings:

  • Provider: GitHub Enterprise
  • Server URL: Your GitHub Enterprise Server's base URL (e.g., https://github.yourcompany.com)
  • Authentication: Personal Access Token
  • Token: Paste the PAT you generated in Step 1

Click Test Connection. If the connection succeeds, Jigit displays your GitHub Enterprise username and the list of organizations it can access. If it fails, skip ahead to the Troubleshooting section.

Step 3: Select Repositories

After a successful connection, select which repositories Jigit should index. You can choose individual repositories or entire organizations. For large Enterprise Server installations with hundreds of repos, select only the repositories relevant to your Jira projects — indexing everything increases initial sync time and API usage.

Step 4: Configure Webhooks for Real-Time Updates

Without webhooks, Jigit polls your GitHub Enterprise Server on a schedule to detect new commits, branches, and pull requests. Webhooks provide real-time updates — a commit appears in Jira's development panel within seconds of being pushed.

Automatic Webhook Setup

If you granted the admin:repo_hook scope in your PAT, Jigit can create webhooks automatically. In the Jigit configuration, enable the Auto-configure webhooks option, and Jigit registers a webhook on each selected repository pointing to its event receiver endpoint.

Manual Webhook Setup

If your security policy prohibits automated webhook creation, set them up manually:

  1. In your GitHub Enterprise Server, go to the repository's Settings > Webhooks.
  2. Click Add webhook.
  3. Set the Payload URL to the Jigit webhook endpoint (shown in the Jigit configuration panel).
  4. Set Content type to application/json.
  5. Under Events, select: Push, Pull Request, Create (for branches/tags), and Delete.
  6. Save the webhook.

Repeat for each repository. For organization-wide webhooks (if your Enterprise Server supports them), configure one webhook at the organization level to cover all repos.

Step 5: Verify the Integration

Create a test branch or commit on a repository you've connected, using a Jira issue key in the branch name or commit message. For example:

  • Branch name: feature/PROJ-123-test-integration
  • Commit message: PROJ-123 Testing GitHub Enterprise integration

Open the Jira issue (PROJ-123 in this example) and check the Development panel. The branch and commit should appear within a few seconds if webhooks are configured, or within the polling interval if they're not. If the data doesn't appear, check the webhook delivery log in GitHub Enterprise Server under Settings > Webhooks > Recent Deliveries for error responses.

Troubleshooting Common Issues

SSL Certificate Errors

The most common Enterprise Server setup failure. If your server uses a self-signed certificate or a certificate from an internal CA, Jigit's connection test will fail with an SSL error.

  • Use a publicly trusted certificate: The simplest fix. Let's Encrypt provides free certificates if your server has a public DNS entry.
  • Contact Jigit support: For enterprise customers, the support team can assist with custom CA certificate configuration.

Firewall Blocking Connections

If the connection test times out, your firewall is likely blocking inbound connections from Jigit's service. You need to allow HTTPS (port 443) traffic from Jigit's IP addresses to your GitHub Enterprise Server. Check Jigit's documentation for the current list of IP addresses to allowlist — these are static and don't change frequently, but verify them when troubleshooting connectivity issues.

API Token Permission Errors

If Jigit connects but can't list repositories, the PAT may lack the required scopes. Generate a new token with the scopes listed in Step 1. Also verify the token hasn't expired — Enterprise Server PATs can have expiration dates.

Webhooks Returning 401 or 403

If webhook deliveries show 401 or 403 errors, the webhook secret may be misconfigured. Delete the webhook and re-create it (or let Jigit auto-configure it) to reset the shared secret.

Old Commits Not Appearing

Jigit indexes commits from the point of connection forward. Existing historical commits that reference Jira issue keys may need a manual reindex. In the Jigit configuration, use the Reindex option for the affected repositories to scan historical commits.

Next Steps

Once your GitHub Enterprise Server is connected, the development workflow is identical to a cloud GitHub setup: developers reference Jira issue keys in branch names and commits, and the data flows automatically into Jira's development panel.

For teams that also use Azure DevOps alongside GitHub, Jigit supports all three providers from a single app — so you can connect your ADO repos using the same integration. If you only need GitHub, our GitHub Links for Jira app provides a streamlined option focused specifically on GitHub Cloud. For more on tracking pull requests from Jira, see our GitHub pull request tracking setup guide.

If your organization is evaluating broader integration options between Azure DevOps and Jira, our guide to the top ways to integrate Jira with Azure DevOps covers the strategic considerations beyond just the technical setup.

Connecting Jira to GitHub Enterprise Server is not the same as connecting to GitHub Cloud. Enterprise Server runs on your own infrastructure, behind your firewall, which means standard OAuth-based cloud integrations won't work out of the box. This guide covers the specific steps for setting up a Jira integration with GitHub Enterprise Server using Jigit, which supports Enterprise Server alongside GitHub Cloud, GitLab, and Azure DevOps.

Why Enterprise Server Setup Is Different

GitHub Cloud lives at github.com and is accessible from the public internet. Jira Cloud apps can reach it directly via OAuth. GitHub Enterprise Server runs on your own servers — a private URL like github.yourcompany.com that may not be accessible from outside your corporate network.

This creates two challenges:

  • Network accessibility: The Jira Cloud integration needs to reach your GitHub Enterprise Server's API. If your server is behind a firewall with no public access, you need to allow inbound connections from the integration service.
  • Authentication: Enterprise Server uses personal access tokens (PATs) or OAuth Apps configured at the server level, not GitHub Cloud's OAuth flow. The setup process is different.

Most Jira marketplace apps that advertise "GitHub integration" only support GitHub Cloud. Jigit explicitly supports GitHub Enterprise Server because it connects via REST API using personal access tokens — no need for a cloud-to-cloud OAuth handshake that your on-premise server can't participate in.

Prerequisites

Before starting the setup, confirm you have the following:

  • GitHub Enterprise Server 3.0 or later: Older versions may have API compatibility issues. Check your server version at https://your-github-server/api/v3/meta.
  • Jira Cloud instance: Jigit connects your Jira Cloud site to GitHub Enterprise Server. (Data Center is also supported — the setup is similar but configuration happens in the Jira admin panel instead.)
  • GitHub Enterprise Server admin access: You need the ability to create personal access tokens and, optionally, configure webhooks at the organization or server level.
  • Network path from Jigit to your server: Jigit's service needs to reach your GitHub Enterprise Server's API endpoint. This typically means allowing HTTPS traffic from Jigit's IP ranges to your server on port 443.
  • Valid SSL certificate: Your GitHub Enterprise Server must have a valid, trusted SSL certificate. Self-signed certificates cause connection failures that require additional configuration.

Step 1: Generate a Personal Access Token

Log into your GitHub Enterprise Server and navigate to Settings > Developer settings > Personal access tokens > Tokens (classic). Generate a new token with the following scopes:

  • repo — Full control of private repositories (required to read commits, branches, and pull requests).
  • read:org — Read organization membership (required to list available repositories).
  • admin:repo_hook — Required only if you want Jigit to automatically configure webhooks.

Copy the token immediately — GitHub only shows it once. Store it securely; you'll need it in the next step.

Step 2: Configure Jigit in Jira

In your Jira Cloud instance, navigate to Apps > Manage apps > Jigit and open the configuration panel. Add a new connection with these settings:

  • Provider: GitHub Enterprise
  • Server URL: Your GitHub Enterprise Server's base URL (e.g., https://github.yourcompany.com)
  • Authentication: Personal Access Token
  • Token: Paste the PAT you generated in Step 1

Click Test Connection. If the connection succeeds, Jigit displays your GitHub Enterprise username and the list of organizations it can access. If it fails, skip ahead to the Troubleshooting section.

Step 3: Select Repositories

After a successful connection, select which repositories Jigit should index. You can choose individual repositories or entire organizations. For large Enterprise Server installations with hundreds of repos, select only the repositories relevant to your Jira projects — indexing everything increases initial sync time and API usage.

Step 4: Configure Webhooks for Real-Time Updates

Without webhooks, Jigit polls your GitHub Enterprise Server on a schedule to detect new commits, branches, and pull requests. Webhooks provide real-time updates — a commit appears in Jira's development panel within seconds of being pushed.

Automatic Webhook Setup

If you granted the admin:repo_hook scope in your PAT, Jigit can create webhooks automatically. In the Jigit configuration, enable the Auto-configure webhooks option, and Jigit registers a webhook on each selected repository pointing to its event receiver endpoint.

Manual Webhook Setup

If your security policy prohibits automated webhook creation, set them up manually:

  1. In your GitHub Enterprise Server, go to the repository's Settings > Webhooks.
  2. Click Add webhook.
  3. Set the Payload URL to the Jigit webhook endpoint (shown in the Jigit configuration panel).
  4. Set Content type to application/json.
  5. Under Events, select: Push, Pull Request, Create (for branches/tags), and Delete.
  6. Save the webhook.

Repeat for each repository. For organization-wide webhooks (if your Enterprise Server supports them), configure one webhook at the organization level to cover all repos.

Step 5: Verify the Integration

Create a test branch or commit on a repository you've connected, using a Jira issue key in the branch name or commit message. For example:

  • Branch name: feature/PROJ-123-test-integration
  • Commit message: PROJ-123 Testing GitHub Enterprise integration

Open the Jira issue (PROJ-123 in this example) and check the Development panel. The branch and commit should appear within a few seconds if webhooks are configured, or within the polling interval if they're not. If the data doesn't appear, check the webhook delivery log in GitHub Enterprise Server under Settings > Webhooks > Recent Deliveries for error responses.

Troubleshooting Common Issues

SSL Certificate Errors

The most common Enterprise Server setup failure. If your server uses a self-signed certificate or a certificate from an internal CA, Jigit's connection test will fail with an SSL error.

  • Use a publicly trusted certificate: The simplest fix. Let's Encrypt provides free certificates if your server has a public DNS entry.
  • Contact Jigit support: For enterprise customers, the support team can assist with custom CA certificate configuration.

Firewall Blocking Connections

If the connection test times out, your firewall is likely blocking inbound connections from Jigit's service. You need to allow HTTPS (port 443) traffic from Jigit's IP addresses to your GitHub Enterprise Server. Check Jigit's documentation for the current list of IP addresses to allowlist — these are static and don't change frequently, but verify them when troubleshooting connectivity issues.

API Token Permission Errors

If Jigit connects but can't list repositories, the PAT may lack the required scopes. Generate a new token with the scopes listed in Step 1. Also verify the token hasn't expired — Enterprise Server PATs can have expiration dates.

Webhooks Returning 401 or 403

If webhook deliveries show 401 or 403 errors, the webhook secret may be misconfigured. Delete the webhook and re-create it (or let Jigit auto-configure it) to reset the shared secret.

Old Commits Not Appearing

Jigit indexes commits from the point of connection forward. Existing historical commits that reference Jira issue keys may need a manual reindex. In the Jigit configuration, use the Reindex option for the affected repositories to scan historical commits.

Next Steps

Once your GitHub Enterprise Server is connected, the development workflow is identical to a cloud GitHub setup: developers reference Jira issue keys in branch names and commits, and the data flows automatically into Jira's development panel.

For teams that also use Azure DevOps alongside GitHub, Jigit supports all three providers from a single app — so you can connect your ADO repos using the same integration. If you only need GitHub, our GitHub Links for Jira app provides a streamlined option focused specifically on GitHub Cloud. For more on tracking pull requests from Jira, see our GitHub pull request tracking setup guide.

If your organization is evaluating broader integration options between Azure DevOps and Jira, our guide to the top ways to integrate Jira with Azure DevOps covers the strategic considerations beyond just the technical setup.

Articles you might like

GitHub Pull Request Tracking in Jira: Setup Guide
June 4, 2026
GitHub Pull Request Tracking in Jira: Setup Guide
Three ways to get GitHub PRs visible in Jira's development panel. Compare GitHub for Jira (Atlassian), GitHub Links for Jira, and Jigit — with setup steps, pros, and cons for each.
Read more >
Azure DevOps Plugins for Jira: Top Integrations in 2026
June 4, 2026
Azure DevOps Plugins for Jira: Top Integrations in 2026
Comparing the top Azure DevOps plugins for Jira in 2026. From marketplace apps to automation platforms, find the right integration for your team's workflow.
Read more >
Top 4 Ways to Integrate Jira with Azure DevOps
May 25, 2026
Top 4 Ways to Integrate Jira with Azure DevOps
Jira and Azure DevOps integrations generally fall under two categories: Development Information Integration and Work Item Integration. Read on to find out more about Jira and Azure DevOps integration possibilities.
Read more >

Articles you might like

New blog posts

How to Connect Jira to GitHub Enterprise Server
June 4, 2026
How to Connect Jira to GitHub Enterprise Server
GitHub Enterprise Server setup is different from Cloud. This step-by-step guide covers PAT generation, Jigit configuration, webhook setup, and troubleshooting for connecting Jira to your on-premise GitHub instance.
Read more >
Jira Automation with Azure DevOps: Complete Guide
June 4, 2026
Jira Automation with Azure DevOps: Complete Guide
Auto-transition Jira issues on PR merge, create ADO work items from Jira, and sync status changes between platforms. Five practical automation recipes with step-by-step setup instructions.
Read more >
How to Create an Azure DevOps Branch from Jira
June 4, 2026
How to Create an Azure DevOps Branch from Jira
Create Azure DevOps branches directly from Jira issues in under 30 seconds. This step-by-step guide covers setup, permissions, branch naming best practices, and CI/CD workflow implications.
Read more >
Get productivity tips delivered straight to your inbox
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Atlassian Logo
Platinum Marketplace Partner
AICPA Logo
SOC 2 Type II Certified
Gitlab Logo
GitLab Official partner
EU GDPR Logo
EU GDPR Compliant
Google Logo
Google Partner
Microsoft Logo
Microsoft Partner