Add New Integration

Adds a new integration to the git configuration list via the API call.

Only Jira admins can perform the Add New Integration API call.

Add new integration

url

/rest/gitplugin/1.0/integration

method

POST

parameters

Request body is a JSON structure supporting the following parameters:

Parameter

Description

displayName

String. Optional. Some git hosts may require this to be filled in.

This is the name that will appear in the Git Integration for Jira app repositories list.

origin

String. Required.

This is the URL to the hosted git service used on the project.

For example, you might host your repository on GitHub, Beanstalk or your own server.

disabled

Boolean.  Optional.

Set the repository status to updated (enabled) or disabled.  If left blank, the default setting for this field is false.

sendCommitEmails

Boolean.  Optional.

Enables or disables commit notification emails for this repository.

maxMinsToCommitEmail

Integer. Optional.

Set the desired value in minutes, as to when commit notifications will be sent.  Commit notifications will be e-mailed if the age of the commit is less than or equal to this value.

type

String. Required.

The type of integration. Available values are the following:

  • GITHUB - integration with Github.com

  • GITHUB_SERVER - integration with GitHub Enterprise

  • GITLAB - integration with GitLab.com

  • GITLAB_SERVER - integration with GitLab Server (CE/EE) (APIv4)

  • GITLAB_SERVER_LEGACY - integration with GitLab Server (CE/EE) Legacy (APIv3)

  • FILESPACE - integration for a tracked folder

  • AZURE_DEVOPS - integration with Azure DevOps Repos

  • VSTS - integration with Visual Studio Team Services (VSTS)

  • AZURE - integration with Azure DevOps Server

  • TFS_SERVER - integration with Team Foundation Server (TFS)

  • AWS - integration with AWS CodeCommit

  • GERRIT - integration with Gerrit Code Review

username

String. Optional.

Set as username for the git host. Leave blank if 2FA is enabled.

password

String. Optional.

Set as password for the git host. Leave blank if 2FA is enabled.

pat

String.  Optional.

This field accepts personal access token from supported git hosts. Fill this in if 2FA is enabled for the git host.

disableSslVerification

Boolean.  Optional.

The default value for this setting is false.

The SSL Verify setting is set to Enabled by default. If set to disabled, the Git Integration for Jira app will ignore verification of SSL certificates when connecting to a git server.

This setting can also be accessed via Manage Git repositories ➜ 
Actions ➜ Edit repository settings.

apiPath

String. Optional.

The integration will use the relative REST API path starting with "/" to retrieve the list of tracked repositories. For more information, see Working with Custom API path.

apiFilter

String. Optional.

It is a JMESPath filter expression. The expression will be used to filter API results such as repository names, etc. For more information, see Working with JMESPath filters.

tfsCollection

String. Optional.

Specify the specific collection to connect. It is used for Microsoft integrations only.

awsRegion

String. Optional.

Specify AWS region; where CodeCommit repositories are located. The list of regions with their names can be found here.

Supported regions:

  • us-east-1

  • us-east-2

  • us-west-1

  • us-west-2

  • ap-south-1

  • ap-northeast-2

  • ap-southeast-1

  • ap-southeast-2

  • ap-northeast-1

  • ca-central-1

  • eu-central-1

  • eu-west-1

  • eu-west-2

  • eu-west-3

  • eu-north-1

  • me-south-1

  • sa-east-1

requireUserPat

Boolean. Optional.

Setting this parameter to true will require users to specify their own PAT for branch and pull/merge request management.

gitViewerEnabled

Boolean.  Optional.

Enables or disables the Repository Browser feature for this repository. The default setting for this setting is enabled.

Users must have the View Development Tools project permission in order to use this feature.  Consult your Jira System Administrator on permissions.

For more information, see section, Repository Browser.

smartCommitsEnabled

Boolean.  Optional.

This setting is enabled by default. Enables/disables smart commits processing for this repository or tracked folder. The default value for this field is true.

global

Boolean.  Optional.

If set to true, the projectMappingIds parameter is ignored. Otherwise, the projectMappingIds parameter value(s) are applied.

sourcesDiffViewEnabled

Boolean.  Optional.

When enabled, this setting allows Jira users with the View Development Tools and correct Jira/Git Integration for Jira app permissions to view the commit and file diffs inside Jira.

revisionIndexing

Boolean. Optional.

This setting turns on the memory cache which is used when list of commits are displayed. Set to true if revision indexing will index and link to any mentioned issue keys in the revision history or not (false).

tagsFilter

String.  Optional.

Displays all tags for the specific issue, if left blank. Otherwise, set tags matching pattern to display tags on issue pages that match the specified regular expression pattern.

For more information, see example in Show tags.

projectMappingIds

Long [ ].  Array.  Optional.

These are numeric projects IDs associated with the repository.

This field accepts list of comma separated project IDs for project mapping. Trailing spaces are ignored (equivalent to unchecking the Associate to All Projects checkbox in the Advanced Setup dialog).

Example: “projectMappingIds”: [10000,10100]

trustFolderStat

Boolean. Optional.

When the trustFolderStat setting is set to false, the .git/objects/pack folder will be always scanned to check for new pack files. If set to true, the last-modified attribute of the folder will be used to check the folder for modifications.

The default value for Jira Data Center is false.

If your repository is stored or JIRA HOME on a network share, it is highly recommended to set this setting to false.

We recommend to leave this setting to false (default) when adding new integration. You can change this setting later on via Actions ➜ Edit repository settings in the Manage repositories page.

The trustFolderStat setting can be configured for each repository in the integration.

refSpecNotes

Boolean. Optional.
This is a reference to refs/notes/* used for fetching. The default value for this field is false.

Git notes are not shown…

  • when refs/notes are disabled on connecting a repository;

  • when a new note comes when refs/notes is disabled.

refSpecChanges

Boolean. Optional.
This is a reference to refs/changes/* used for fetching. The default value for this field is false.

refSpecCustom

String. Optional.
This is a user-defined list of references used for fetching. It is a comma-separated list with the format: +refs/refname1/*:refs/refname1/*, refs/refname2/*:refs/refname2/*, ...

response

This will add a new integration of the connected git host to the git repository configuration list.

Example:

https://jira.yourorg.com/rest/gitplugin/1.0/integration

Request body (JSON) example:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 { "displayName": "MyGitHub", "origin": "https://api.github.com", "type": "GITHUB", "pat": "thisisthepatofyourgithost", "disabled": false, "sendCommitEmails": true, "maxMinsToCommitEmail": 1440, "global": true, "revisionIndexing": true, "gitViewerEnabled": true, "disableSslVerification": false, "smartCommitsEnabled": true, "requireUserPat": false, "projectMappingIds": [], "sourcesDiffViewEnabled": true, "limitGitData": true, "refSpecNotes": true, "refSpecChanges": false, "trustFolderStat": false }

Response:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 { "success": "true", "integration": { "id": 1, "displayName": "MyGitHub", "origin": "https://api.github.com", "disabled": false, "sendCommitEmails": true, "maxMinsToCommitEmail": 1440, "global": true, "initDate": 1626070678087, "revisionIndexing": true, "gitViewerEnabled": true, "disableSslVerification": false, "smartCommitsEnabled": true, "requireUserPat": false, "projectMappingIds": [], "integrationType": "GITHUB", "sourcesDiffViewEnabled": true, "refSpecNotes": true, "refSpecChanges": false, "trustFolderStat": false } }

REST APIs