Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Jigit: Jira Data Center and Git systems integration

In this short article I would like to explain why Jigit: GitHub, GitLab, Azure DevOps and Gerrit integration for Jira Data Center is loved by multiple Enterprise companies.

---
The integration has 4/4 ⭐️ 31 reviews on the Atlassian Marketplace.
---

Introduction

Jigit is a Jira Data Center application that seamlessly integrates Git data - including commits, pull requests, and branches - into Jira issues. The linkage is established through issue keys, which must appear in Git commit messages, pull request titles or descriptions, or branch names.

Jigit does not clone repositories or fetch source code. Instead, it leverages REST APIs from Git systems to iteratively retrieve data. This indexing process is continuous: when one iteration completes, the next is automatically scheduled based on configurable intervals. To reduce delays in data synchronization, Jigit also supports webhooks that enable near-instant updates triggered directly from the Git systems.

The plugin supports integration with both SaaS and on-premise Git solutions, including GitHub, GitLab, and Azure DevOps.

Integration Capabilities

Jigit allows you to integrate either individual repositories or entire organizations/groups. For grouped integrations, it is possible to specify which repositories to index by name or manage the repository list manually.

Each integration can be configured to index one or more data types: commits, pull requests, and/or branches.

Indexing Architecture

Each data type - commits, pull requests, and branches - is indexed by a separate, independent background job. These jobs communicate with Git systems via REST APIs and store the retrieved data in the Jira database.

Commit Indexing

Commit indexing can target the default branch, specific branches, or all branches. The process starts with the most recent (head) commit and continues backward if necessary. The initial indexing typically takes the longest, especially for repositories with extensive histories. Once completed, subsequent index iterations retrieve only new commits.

Jigit uses a persistent queue for commits. If indexing is interrupted, it resumes from the last known point in the next iteration.

Branch Indexing

During each iteration, Jigit fetches all branches for each configured repository. The Git API allows up to 100 branches per call. If a repository contains more than 100 branches, multiple requests are issued to ensure full coverage.

Pull Request Indexing

Jigit supports two pull request indexing modes:

  • Initial Indexing: Retrieves and stores all available pull requests.

  • Incremental Indexing: After the initial load, subsequent runs scan for and update only the latest 100 pull requests if required.

Webhook Support

Webhooks complement the polling/indexing approach by delivering real-time updates from the Git system. They can be configured manually or automatically when a new integration is created or updated.

Scalability

In clustered environments, Jigit starts one indexing job per data type per node. These jobs are not distributed across nodes by default. However, the Worker Nodes setting restricts which nodes are allowed to run indexing tasks, improving resource allocation.

Increasing the number of worker threads can speed up indexing significantly but also increases the risk of hitting API rate limits. This setting is especially useful after the initial indexing phase when only small incremental updates are needed.

Performance Insights

Jigit's performance is influenced by several factors:

  • Git system API rate limits

  • Shared credentials across multiple integrations

  • Number and types of indexing configurations

  • Number of worker threads

  • Use of batch commit indexing (recommended for large repositories)

Performance Benchmark Our internal tests demonstrate that enabling batch commit indexing can improve performance by up to 100x. For example, indexing approximately 70,000 commits can be completed within the first hour under optimal conditions.

Conclusion

Jigit is built to scale effectively within Jira Data Center environments while providing comprehensive Git integration. With its configurable architecture, support for webhooks, and ability to fine-tune performance settings, it offers both reliability and flexibility for large-scale enterprise deployments.

Try Jigit or schedule a demo with us to discuss your needs.

0 comments

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events