What’s on this page:
- How is git data indexed?
- Automatic indexing
- Manual indexing
- Indexing definitions
- Branch and pull/merge request name index triggers
The Git Integration for Jira Cloud app automatically indexes commits, branches, tags, and pull/merge requests. Previously, all repositories and integrations were updated on a strict schedule – which is approximately every 8 minutes after the last indexing process has finished for an account. This worked for small accounts and provided consistency but was inefficient with large accounts (many with repositories that rarely change).
Starting on October 28, 2019, indexing is now calculated based on per repository activity. The overall goals are to reduce the strain on git services and make the indexing service more available for the webhook triggers.
Pull/merge requests are only indexed for repositories connected using the Full feature integrations panel in Manage Git Repositories. They can be accessed via the Jira Developer Panel on the right sidebar of a Jira issue. Git repositories added individually via SSH or HTTPS credentials will not show pull/merge requests.
How is git data indexed?
Git Integration for Jira Cloud indexes a variety of Git and Git related data once connected by a Jira administrator. The table below describes how each data type is accessed. All data is stored until a Jira administrator removes the integration or the subscription is cancelled or expires.
See our Privacy Policy and Data Deletion Policy.
Data Type | Method |
---|---|
Commits | Git clone |
Branches | Git clone |
Tags | Git clone |
Pull requests | API |
Merge requests | API |
List of repositories | API |
Automatic indexing
Indexing repositories
An internal process runs approximately every 8 minutes to review repositories eligible to be checked for changes. All repositories are checked for changes at least once daily. A repository change (commit, branch, tag) will cause the Next repository check to be calculated next: in a quarter of the time since the last repository update was detected.
For example, if the last commit was detected 4 hours ago then the Next repository check will be scheduled in 1 hour.
The time for Next repository check are re-calculated on each indexer check.
Indexing integrations
An internal process runs approximately every 8 minutes to review integrations eligible to be checked for changes. Integrations (for example, GitLab, GitHub, etc) are checked during each Next indexer check via the git service’s API for available repositories.
All repositories are checked for changes at least once daily. A repository change (commit, branch, tag) will cause the Next repository check to be calculated next: in a quarter of the time since the last repository update was detected.
For example, if the last commit was detected 4 hours ago then the Next repository check will be scheduled in 1 hour.
Next repository check times are re-calculated on each indexer check.
Triggering automatic reindexes via webhooks
Automatic indexing is designed to record changes in a timely manner for all types of repositories, but ideally, changes should be indexed immediately. Configuring webhooks to trigger automatic reindexing will result in immediate reindex times.
When webhooks are received by the indexing service, the indexing service will reduce the automatic indexing to once – hourly.
For more information on configuring webhooks, see: Indexing triggers.
Automatic indexing period limits
The table below describes the automatic indexing period limits:
Action | Conditions | Min. period | Max. period |
---|---|---|---|
Check a repository | No webhook (PR or push) arrives for the repository | 450 secs | 24 hr |
Check a repository | Webhooks (PR or push) arrives for the repository | 1 hr | 24 hr |
Check an integration | Regardless of arriving webhooks | 19.2 hrs | 24 hr |
Manual indexing
Reindex all
All repositories and integrations can be updated manually via the Manage Git repositories screen by selecting the Reindex All button:
Repositories
Repositories can be updated manually via the Manage git repositories screen by opening the Actions menu and selecting Reindex repository:
Integrations
Integrations can be updated manually via the Manage git repositories screen by opening the Actions menu and selecting Reindex integration:
Indexing statuses
Status | Description |
---|---|
INDEXED | Integration or repository has been indexed and no errors were detected. |
QUEUED | Integration or repository is actively queued for indexing. |
INDEXING | Indexer is actively checking integration or repository for changes. |
ERROR | Integration has at least one repository in an error state (and not updating) and at least one repository was successfully updated. |
ERROR | Integration or all repositories are in an error state and are not updating. |
Indexing errors
A notification about indexing error is displayed in the Git Commits tab so that Jira administrators can be alerted immediately.
Branch and pull/merge request name index triggers
Pull/merge requests are still indexed based on branch name even if the PR/MR title does not have the Jira issue key – as long as the branch name contains the Jira issue key.