How to set up GitHub App integration?
GitHub App Setup
Permissions
The GitHub App requires the following permissions prior to integration:
Repository permissions:
Administration:
Access: Read and writeContents:
Access: Read and writeMetadata:
Access: Read-onlyProjects:
Access: Read-onlyPull requests:
Access: Read and write
To update your GitHub Apps permissions, go to the app in your GitHub account located here, click the button next to your app, select from the menu to the left, then change the approrpiate Repository Permissions, then click the Save changes button at the bottom.
Private Key
From the section of your GitHub, scroll down to the Private Keys section and click to generate a private key as shown below:
Once the private key has downloaded, open the file with a text editor, as the contents will need to be pasted during the integration setup.
Jigit GitHub App Integration
Navigate to the Jigit Plugin Config located under the Managed apps section of Jira. Under the Configurations Tab, select
Select GitHub App and specify which of the apps features are required.
Enter the specified details and paste the Private Key from your GitHub App and the App Id, found in the General section of your GitHub App.
Select which branches to be indexed
From the Advances settings, you can change the indexing parameters:
Provide a name for the Integration
Pressing the will check the integration is complete, and provide an error for any issues that need to be address. Once you have a green bar with , press Save and the integration is complete.
Below you can find a short definition of the additional parameters you can specify:
Parameter | Definition |
---|---|
| specify the Git system for your connection; Azure DevOps, GitLab, GitLab 8 or earlier, GitHub or GitHub App |
| select to prevent commits from being indexed. Development Panel on issue view screen will only display branches and 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. |
| the visibility of repositories to be able to сreate a branch, link a branch to the Jira issue, and сreate a code review using Jigit Development Panel. |
|
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. |
| 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. |
| enter a host of your Git server; it can be https://github.com, https://gitlab.com, https://dev.azure.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. |
| 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. For Azure DevOps integration, in the URL https://dev.azure.com/Move-Work-Forward/BTR%20project/_git/MWF the name of the repo is Move-Work-Forward/BTR%20project/_git/MWF and the group name is Move-Work-Forward or Move-Work-Forward/BTR%20project. Also, you have to specify the 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 Subgroups are only working with GitLab. |
| The default branch of your GitHub or GitLab repository that will be used for integration with Jira, by default it is indicated When you use Test Connection action, it uses the default branch and the first accessible repository to check the connectivity. |
| authentication token you created before that allows an individual user to authenticate and access GitHub resources. Service accounts are often used for this purpose. |
| a way of branch indexing:
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 project names list where the commits and pull requests should be visible |
| lets you to specify a time duration after which smart commits should be ignored |
| allows you to manually change the default settings for indexation |
| a time period within which commits are indexed and associated with Jira issues |
| 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. |
| 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. |
| frequency at which the integration checks for new commits or changes in the connected GitHub or GitLab repository Default and recommended - 100 requests. |
| indicate an alias/name for your configuration which will be displayed on the configurations tab page; an alias should be unique; you can't add two configurations with the same alias. |
| enables the configuration to allow indexation |
Updated: