Skip to main content
Skip table of contents

How to set up GitHub or GitLab integration?

Jigit is a Jira application for Jira On-Premises that provides an issue view tab, which displays information about all commits referencing the issue key. Additionally, Jigit provides a development panel on the Issue View screen where a person can see the issue-related branches and create a new branch directly from the source code.

Jigit gives you a convenient way to collect commits and pull requests from GitLab and GitHub. Jigit queries Git servers using their public REST APIs and saves commits into a Jira database so there is no access needed. The app uses only the commit history.

The App does not have access to your source code. It doesn't clone your repositories, so no disk space is used to store sources. It uses REST APIs to query data.

Jigit Plugin Configuration

To start the Jigit plugin configuration you have to generate Access Tokens.

How to generate Personal Access Token in GitHub?

How to generate Access Token in GitLab?

Once your Access Token is ready you can move to the integration set-up.

First of all, you have to add a new configuration on the Global configuration page:

  1. Move to the Jira Administration section (“gear” button in the right corner of the navigation menu).

  2. Navigate to the Manage app page and find our application Jigit Plugin Config on the left sidebar.

  3. On the Global Configuration page navigate to the Jigit Plugin Configuration tab.

  4. Click on Add in the bottom right corner and create a new configuration. After you have specified all the necessary parameters click on Ok button to save it.

  5. Test Connection button allows you to check the connection and communication between Jira and the connected GitHub or GitLab accounts.

Below you can find a short definition of each parameter you have to specify in the modal window that appears in front of you:

Parameter

Definition

Alias

indicate an alias/name for your configuration which will be displayed on the commits tab page; an alias should be unique; you can't add two configurations with the same alias.

Host

enter a host of your Git server; it can be https://github.com, or https://gitlab.com, or your instance on the GitLab server (for example, https://my.own.gitlab:8443).

Also, you can create a GitHub app and use it to get access to Github, the app needs to have the necessary permissions.

Important: After you change GitHub app permissions you need to make sure it was reinstalled on the organization level and the permission-change was accepted by the organization admin/owner.

Access Token

authentication token you created before that allows an individual user to authenticate and access GitHub resources. Service accounts are often used for this purpose.

Path

path; it can be either a repository name or a repository group (GitLab) or organisation (GitHub) name; a repository name usually consists of two parts and is displayed in the query string of a browser.

For example, in the URL https://gitlab.com/gitlab-org/gitlab-ce  the name of the repo is gitlab-org/gitlab-ce and the group name is gitlab-org.

Also you have to specify content type inside a given path: repository or a group of repositories (drop-down opposite the path)

To include all repositories in a group you need to use .* mask.

Subgroups are only working with GitLab.

Default Branch

The default branch of your GitHub or GitLab repository that will be used for integration with Jira, by default it is indicated master branch; Jigit indexes git commits from the default branch and then from the others.

When you use Test Connection action, it uses the default branch and the first accessible repository to check the connectivity.

Index

a way of branch indexing:

  • all branches inside a repository;

  • selected branches;

  • branch mask helps filter and match specific branches in your GitHub or GitLab repository.

The aim is to decrease the number of API calls if this number is limited (it's actually for https://github.com, for example). If you select the "all branches" option, Jigit makes API calls to check whether there have been new git commits since the last check (even to stale branches).

Jira Projects

Jira project names list where the commits and pull requests should be visible

Commit indexing window

a time period within which commits are indexed and associated with Jira issues

Commit request timeout

the maximum amount of time allowed for making a request to retrieve commit information from the connected GitHub or GitLab repository; this parameter is used when Jigit calls the git server by HTTP API, and if the timeout is exceeded during a call the add-on stops the indexing of a repository. If you see ConnectException: Connection timed out in JIRA logs, you can increase this value to overcome it.

Default and recommended - 10 seconds.

Sleep

the duration of a pause or delay between consecutive requests made by the integration to the connected GitHub or GitLab repository

Default and recommended - 10 seconds.

each

frequency at which the integration checks for new commits or changes in the connected GitHub or GitLab repository

Default and recommended - 100 requests.

Enable smart commits

Available since 3.04.01

allows you to enable or disable the use of smart commits; Jigit support for smart commits for transition: if you write the commit message in the form #in-progress (hash, status name without spaces), the issue will be transitioned to the status In Progress. The smart commits work similarly to the Bitbucket Smart Commits.

It works only if your workflow does not have any mandatory fields on transition.

Ignore smart commits older than

lets you to specify a time duration after which smart commits should be ignored

Add git activities as issue comments

when enabled, Git activities, such as commits, pushes, and merges, are automatically added as comments to associated Jira issues.

After a commit is added, the operation can't be reversed. Comment stays there even if plugin is deleted.

Index pull requests

Available since 4.12.19

Jigit can index, pull and merge request messages; when this parameter is enabled, the integration will actively monitor and index the pull requests in your repositories.

The pull or merge request title should contain the issue key. For instance, DEV-123 added support for pull requests indexing for GitLab and GitHub.

Display repos in the development panel

the visibility of repositories to be able сreate a branch, link a branch to Jira issue, and сreate a code review using Jigit Development Panel.

Here is a quick demo video of how to connect Jira to GitLab using the Jigit app.

Once the configuration has been created, you can start using the app on the Jira issue view screen. The other configurations are optional to make your integrations more streamlined and efficient.

Global settings

The Global Settings tab allows Jira administrators to configure and customize the integration settings.

After you have specified the necessary parameters click on Ok button to save configurations.

Below you can find a short definition of each parameter of Global Settings tab.

Parameter

Definition

Projects to show Jigit Tab

Jira projects where the Jigit Tab is visible

No projects chosen means available everywhere.

Projects to hide Jigit Tab

Jira projects where the Jigit Tab is not visible

No projects chosen means available everywhere.

URL pattern

allows you to define the URL to which the Jigit can connect; by default, all URLs are allowed, but the Jira administrator can use jira-jigit-plugin.url.pattern environment variable to set the URL pattern, which restricts the URL entered for all new configurations.

For example, -Djira-jigit-plugin.url.pattern="https://github.com|https://gitlab.com".

Remove non-ASCII symbols from commits and pull requests

ensures that any non-ASCII symbols or characters in commit messages and pull request titles are removed or replaced with ASCII equivalents.

Non-ASCII symbols refer to characters that are outside the standard ASCII character set, which includes characters such as letters, numbers, and basic punctuation marks commonly used in the English language. Examples of non-ASCII symbols include special characters, diacritical marks, emojis, or characters from other languages and scripts.

Jigit Development Panel

Available since 5.02.23

Jigit Development Panel is a panel available on the issue view screen where you can see related branches and create a new branch in the configured git connections. The Jigit Development Panel provides information about branches and pull requests whose names include the issue key.

For this feature to work you need to make sure the access token used in the configuration has the right permissions to do the create-branch operation.

To configure Jigit Development Panel displaying you need to:

  1. Navigate to the Jigit Development tab on the Global configuration page.

  2. Enable the displaying with the checkbox help.

  3. Additionally, you can provide Patterns of repositories to show and Patterns of repositories to hide allowing you to specify repository patterns that determine which repositories are displayed or hidden in the Jigit Development Panel.

  4. Click on Ok button to save configurations.

To be able to сreate a branch, link a branch to Jira issue, and сreate a code review using Jigit Development Panel you need to enable parameter Display repos in the development panel during Jigit Plugin Configuration.

Please watch this demo video to discover more details about Jigit Development panel.


Get started guide for the Jira end user

How to link Git entities to Jira issues?

How to create a pull or merge in Jira using the Jigit app?

How to create a feature branch in Jira?

Updated:

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.