
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:
- In your GitHub Enterprise Server, go to the repository's Settings > Webhooks.
- Click Add webhook.
- Set the Payload URL to the Jigit webhook endpoint (shown in the Jigit configuration panel).
- Set Content type to
application/json. - Under Events, select: Push, Pull Request, Create (for branches/tags), and Delete.
- 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.




























