Back to Gitlabhq

Project integrations API

doc/api/project_integrations.md

18.11.2100.1 KB
Original Source

{{< details >}}

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

Use this API to manage integrations for a project.

Prerequisites:

  • You must have the Maintainer or Owner role for the project.

List all active integrations

{{< history >}}

  • vulnerability_events field introduced in GitLab 16.4.
  • inherited field introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • inherited field generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Get a list of all active project integrations. The vulnerability_events field is only available for GitLab Enterprise Edition.

plaintext
GET /projects/:id/integrations

Example response:

json
[
  {
    "id": 75,
    "title": "Jenkins CI",
    "slug": "jenkins",
    "created_at": "2019-11-20T11:20:25.297Z",
    "updated_at": "2019-11-20T12:24:37.498Z",
    "active": true,
    "commit_events": true,
    "push_events": true,
    "issues_events": true,
    "alert_events": true,
    "confidential_issues_events": true,
    "merge_requests_events": true,
    "tag_push_events": false,
    "deployment_events": false,
    "note_events": true,
    "confidential_note_events": true,
    "pipeline_events": true,
    "wiki_page_events": true,
    "job_events": true,
    "comment_on_event_enabled": true,
    "inherited": false,
    "vulnerability_events": true
  },
  {
    "id": 76,
    "title": "Alerts endpoint",
    "slug": "alerts",
    "created_at": "2019-11-20T11:20:25.297Z",
    "updated_at": "2019-11-20T12:24:37.498Z",
    "active": true,
    "commit_events": true,
    "push_events": true,
    "issues_events": true,
    "alert_events": true,
    "confidential_issues_events": true,
    "merge_requests_events": true,
    "tag_push_events": true,
    "deployment_events": false,
    "note_events": true,
    "confidential_note_events": true,
    "pipeline_events": true,
    "wiki_page_events": true,
    "job_events": true,
    "comment_on_event_enabled": true,
    "inherited": false,
    "vulnerability_events": true
  }
]

Apple App Store Connect

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Apple App Store Connect

Set up the Apple App Store Connect integration for a project.

plaintext
PUT /projects/:id/integrations/apple_app_store

Parameters:

ParameterTypeRequiredDescription
app_store_issuer_idstringyesApple App Store Connect issuer ID.
app_store_key_idstringyesApple App Store Connect key ID.
app_store_private_key_file_namestringyesApple App Store Connect private key filename.
app_store_private_keystringyesApple App Store Connect private key.
app_store_protected_refsbooleannoSet variables on protected branches and tags only.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Apple App Store Connect

Disable the Apple App Store Connect integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/apple_app_store

Get Apple App Store Connect settings

Get the Apple App Store Connect integration settings for a project.

plaintext
GET /projects/:id/integrations/apple_app_store

Asana

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Asana

Set up the Asana integration for a project.

plaintext
PUT /projects/:id/integrations/asana

Parameters:

ParameterTypeRequiredDescription
api_keystringyesUser API token. The user must have access to the task. All comments are attributed to this user.
restrict_to_branchstringnoComma-separated list of branches to be automatically inspected. Leave blank to include all branches.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Asana

Disable the Asana integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/asana

Get Asana settings

Get the Asana integration settings for a project.

plaintext
GET /projects/:id/integrations/asana

Assembla

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Assembla

Set up the Assembla integration for a project.

plaintext
PUT /projects/:id/integrations/assembla

Parameters:

ParameterTypeRequiredDescription
tokenstringyesThe authentication token.
subdomainstringnoThe subdomain setting.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Assembla

Disable the Assembla integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/assembla

Get Assembla settings

Get the Assembla integration settings for a project.

plaintext
GET /projects/:id/integrations/assembla

Atlassian Bamboo

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Atlassian Bamboo

Set up the Atlassian Bamboo integration for a project.

You must configure automatic revision labeling and a repository trigger in Bamboo.

plaintext
PUT /projects/:id/integrations/bamboo

Parameters:

ParameterTypeRequiredDescription
bamboo_urlstringyesBamboo root URL (for example, https://bamboo.example.com).
enable_ssl_verificationbooleannoEnable SSL verification. Defaults to true (enabled).
build_keystringyesBamboo build plan key (for example, KEY).
usernamestringyesUser with API access to the Bamboo server.
passwordstringyesPassword of the user.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Atlassian Bamboo

Disable the Atlassian Bamboo integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/bamboo

Get Atlassian Bamboo settings

Get the Atlassian Bamboo integration settings for a project.

plaintext
GET /projects/:id/integrations/bamboo

Bugzilla

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Bugzilla

Set up the Bugzilla integration for a project.

plaintext
PUT /projects/:id/integrations/bugzilla

Parameters:

ParameterTypeRequiredDescription
new_issue_urlstringyesURL of the new issue.
issues_urlstringyesURL of the issue.
project_urlstringyesURL of the project.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Bugzilla

Disable the Bugzilla integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/bugzilla

Get Bugzilla settings

Get the Bugzilla integration settings for a project.

plaintext
GET /projects/:id/integrations/bugzilla

Buildkite

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Buildkite

Set up the Buildkite integration for a project.

plaintext
PUT /projects/:id/integrations/buildkite

Parameters:

ParameterTypeRequiredDescription
tokenstringyesToken you get after you create a Buildkite pipeline with a GitLab repository.
project_urlstringyesPipeline URL (for example, https://buildkite.com/example/pipeline).
enable_ssl_verificationbooleannoDeprecated: This parameter has no effect because SSL verification is always enabled.
push_eventsbooleannoEnable notifications for push events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
tag_push_eventsbooleannoEnable notifications for tag push events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Buildkite

Disable the Buildkite integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/buildkite

Get Buildkite settings

Get the Buildkite integration settings for a project.

plaintext
GET /projects/:id/integrations/buildkite

Campfire Classic

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

You can integrate with Campfire Classic. However, Campfire Classic is an old product that is no longer sold by Basecamp.

Set up Campfire Classic

Set up the Campfire Classic integration for a project.

plaintext
PUT /projects/:id/integrations/campfire

Parameters:

ParameterTypeRequiredDescription
tokenstringyesAPI authentication token from Campfire Classic. To get the token, sign in to Campfire Classic and select My info.
subdomainstringno.campfirenow.com subdomain when you're signed in.
roomstringnoID portion of the Campfire Classic room URL.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Campfire Classic

Disable the Campfire Classic integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/campfire

Get Campfire Classic settings

Get the Campfire Classic integration settings for a project.

plaintext
GET /projects/:id/integrations/campfire

ClickUp

{{< history >}}

  • Introduced in GitLab 16.1.
  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up ClickUp

Set up the ClickUp integration for a project.

plaintext
PUT /projects/:id/integrations/clickup

Parameters:

ParameterTypeRequiredDescription
issues_urlstringyesURL of the issue.
project_urlstringyesURL of the project.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable ClickUp

Disable the ClickUp integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/clickup

Get ClickUp settings

Get the ClickUp integration settings for a project.

plaintext
GET /projects/:id/integrations/clickup

Confluence Workspace

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Use a Confluence Cloud Workspace as your project wiki.

Set up Confluence Workspace

Set up the Confluence Workspace integration for a project.

plaintext
PUT /projects/:id/integrations/confluence

Parameters:

ParameterTypeRequiredDescription
confluence_urlstringyesURL of the Confluence Workspace hosted on atlassian.net.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Confluence Workspace

Disable the Confluence Workspace integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/confluence

Get Confluence Workspace settings

Get the Confluence Workspace integration settings for a project.

plaintext
GET /projects/:id/integrations/confluence

Custom issue tracker

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up a custom issue tracker

Set up a custom issue tracker for a project.

plaintext
PUT /projects/:id/integrations/custom-issue-tracker

Parameters:

ParameterTypeRequiredDescription
new_issue_urlstringyesURL of the new issue.
issues_urlstringyesURL of the issue.
project_urlstringyesURL of the project.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable a custom issue tracker

Disable a custom issue tracker for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/custom-issue-tracker

Get custom issue tracker settings

Get the custom issue tracker settings for a project.

plaintext
GET /projects/:id/integrations/custom-issue-tracker

Datadog

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Datadog

Set up the Datadog integration for a project.

plaintext
PUT /projects/:id/integrations/datadog

Parameters:

ParameterTypeRequiredDescription
api_keystringyesAPI key used for authentication with Datadog.
datadog_ci_visibilitybooleanyesEnables collection of pipeline and job events in Datadog to display pipeline execution traces.
api_urlstringnoFull URL of your Datadog site.
datadog_envstringnoFor self-managed deployments, env% tag for all the data sent to Datadog.
datadog_servicestringnoGitLab instance to tag all data from in Datadog. Can be used when managing several self-managed deployments.
datadog_sitestringnoDatadog site to send data to. To send data to the EU site, use datadoghq.eu.
datadog_tagsstringnoCustom tags in Datadog. Specify one tag per line in the format key:value\nkey2:value2.
archive_trace_eventsbooleannoWhen enabled, job logs are collected by Datadog and displayed along with pipeline execution traces (introduced in GitLab 15.3).
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Datadog

Disable the Datadog integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/datadog

Get Datadog settings

Get the Datadog integration settings for a project.

plaintext
GET /projects/:id/integrations/datadog

Diffblue Cover

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Diffblue Cover

Set up the Diffblue Cover integration for a project.

plaintext
PUT /projects/:id/integrations/diffblue-cover

Parameters:

ParameterTypeRequiredDescription
diffblue_license_keystringyesDiffblue Cover license key.
diffblue_access_token_namestringyesAccess token name used by Diffblue Cover in pipelines.
diffblue_access_token_secretstringyesAccess token secret used by Diffblue Cover in pipelines.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Diffblue Cover

Disable the Diffblue Cover integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/diffblue-cover

Get Diffblue Cover settings

Get the Diffblue Cover integration settings for a project.

plaintext
GET /projects/:id/integrations/diffblue-cover

Discord Notifications

{{< history >}}

  • _channel parameters introduced in GitLab 16.3.
  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Discord Notifications

Set up Discord Notifications for a project.

plaintext
PUT /projects/:id/integrations/discord

Parameters:

ParameterTypeRequiredDescription
webhookstringyesDiscord webhook (for example, https://discord.com/api/webhooks/...).
branches_to_be_notifiedstringnoBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
confidential_issues_eventsbooleannoEnable notifications for confidential issue events.
confidential_issue_channelstringnoThe webhook override to receive notifications for confidential issue events.
confidential_note_eventsbooleannoEnable notifications for confidential note events.
confidential_note_channelstringnoThe webhook override to receive notifications for confidential note events.
deployment_eventsbooleannoEnable notifications for deployment events.
deployment_channelstringnoThe webhook override to receive notifications for deployment events.
group_confidential_mentions_eventsbooleannoEnable notifications for group confidential mention events.
group_confidential_mentions_channelstringnoThe webhook override to receive notifications for group confidential mention events.
group_mentions_eventsbooleannoEnable notifications for group mention events.
group_mentions_channelstringnoThe webhook override to receive notifications for group mention events.
issues_eventsbooleannoEnable notifications for issue events.
issue_channelstringnoThe webhook override to receive notifications for issue events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
merge_request_channelstringnoThe webhook override to receive notifications for merge request events.
note_eventsbooleannoEnable notifications for note events.
note_channelstringnoThe webhook override to receive notifications for note events.
notify_only_broken_pipelinesbooleannoSend notifications for broken pipelines.
notify_only_when_pipeline_status_changesbooleannoSend notifications only when the pipeline status for the ref changes.
pipeline_eventsbooleannoEnable notifications for pipeline events.
pipeline_channelstringnoThe webhook override to receive notifications for pipeline events.
push_eventsbooleannoEnable notifications for push events.
push_channelstringnoThe webhook override to receive notifications for push events.
tag_push_eventsbooleannoEnable notifications for tag push events.
tag_push_channelstringnoThe webhook override to receive notifications for tag push events.
wiki_page_eventsbooleannoEnable notifications for wiki page events.
wiki_page_channelstringnoThe webhook override to receive notifications for wiki page events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Discord Notifications

Disable Discord Notifications for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/discord

Get Discord Notifications settings

Get the Discord Notifications settings for a project.

plaintext
GET /projects/:id/integrations/discord

Drone

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Drone

Set up the Drone integration for a project.

plaintext
PUT /projects/:id/integrations/drone-ci

Parameters:

ParameterTypeRequiredDescription
tokenstringyesDrone CI token.
drone_urlstringyesDrone CI URL (for example, http://drone.example.com).
enable_ssl_verificationbooleannoEnable SSL verification. Defaults to true (enabled).
push_eventsbooleannoEnable notifications for push events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
tag_push_eventsbooleannoEnable notifications for tag push events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Drone

Disable the Drone integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/drone-ci

Get Drone settings

Get the Drone integration settings for a project.

plaintext
GET /projects/:id/integrations/drone-ci

Emails on push

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up emails on push

Set up the emails on push integration for a project.

plaintext
PUT /projects/:id/integrations/emails-on-push

Parameters:

ParameterTypeRequiredDescription
recipientsstringyesEmails separated by whitespace.
disable_diffsbooleannoDisable code diffs.
send_from_committer_emailbooleannoSend from committer.
push_eventsbooleannoEnable notifications for push events.
tag_push_eventsbooleannoEnable notifications for tag push events.
branches_to_be_notifiedstringnoBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. Notifications are always fired for tag pushes. The default value is all.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable emails on push

Disable the emails on push integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/emails-on-push

Get emails on push settings

Get the emails on push integration settings for a project.

plaintext
GET /projects/:id/integrations/emails-on-push

Engineering Workflow Management (EWM)

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up EWM

Set up the EWM integration for a project.

plaintext
PUT /projects/:id/integrations/ewm

Parameters:

ParameterTypeRequiredDescription
new_issue_urlstringyesURL of the new issue.
project_urlstringyesURL of the project.
issues_urlstringyesURL of the issue.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable EWM

Disable the EWM integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/ewm

Get EWM settings

Get the EWM integration settings for a project.

plaintext
GET /projects/:id/integrations/ewm

External wiki

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up an external wiki

Set up an external wiki for a project.

plaintext
PUT /projects/:id/integrations/external-wiki

Parameters:

ParameterTypeRequiredDescription
external_wiki_urlstringyesURL of the external wiki.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable an external wiki

Disable an external wiki for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/external-wiki

Get external wiki settings

Get the external wiki settings for a project.

plaintext
GET /projects/:id/integrations/external-wiki

GitGuardian

{{< details >}}

  • Tier: Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

{{< history >}}

{{< /history >}}

GitGuardian is a cybersecurity service that detects sensitive data such as API keys and passwords in source code repositories. It scans Git repositories, alerts on policy violations, and helps organizations fix security issues before hackers can exploit them.

You can configure GitLab to reject commits based on GitGuardian policies.

For known issues and troubleshooting steps, see GitGuardian troubleshooting.

Set up GitGuardian

Set up the GitGuardian integration for a project.

plaintext
PUT /projects/:id/integrations/git-guardian

Parameters:

ParameterTypeRequiredDescription
tokenstringyesGitGuardian API token with scan scope.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable GitGuardian

Disable the GitGuardian integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/git-guardian

Get GitGuardian settings

Get the GitGuardian integration settings for a project.

plaintext
GET /projects/:id/integrations/git-guardian

GitHub

{{< details >}}

  • Tier: Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up GitHub

Set up the GitHub integration for a project.

plaintext
PUT /projects/:id/integrations/github

Parameters:

ParameterTypeRequiredDescription
tokenstringyesGitHub API token with repo:status OAuth scope.
repository_urlstringyesGitHub repository URL.
static_contextbooleannoAppend the hostname of your GitLab instance to the status check name.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable GitHub

Disable the GitHub integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/github

Get GitHub settings

Get the GitHub integration settings for a project.

plaintext
GET /projects/:id/integrations/github

GitLab for Jira Cloud app

The GitLab for Jira Cloud app integration is enabled or disabled automatically through group linking and unlinking in Jira. You cannot enable or disable the integration with the GitLab integrations form or the API.

Update integration for a project

Use this API endpoint to update an integration you create with group linking in Jira.

plaintext
PUT /projects/:id/integrations/jira-cloud-app

Parameters:

ParameterTypeRequiredDescription
jira_cloud_app_service_idsstringnoJira Service Management Service IDs. Use commas (,) to separate multiple IDs.
jira_cloud_app_enable_deployment_gatingbooleannoEnables deployment gating for blocked GitLab deployments from Jira Service Management.
jira_cloud_app_deployment_gating_environmentsstringnoThe environments (production, staging, testing, or development) to enable deployment gating. Required if deployment gating is enabled. Use commas (,) to separate multiple environments.

Get GitLab for Jira Cloud app settings

Get the GitLab for Jira Cloud app integration settings for a project.

plaintext
GET /projects/:id/integrations/jira-cloud-app

GitLab for Slack app

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up GitLab for Slack app

Update the GitLab for Slack app integration for a project.

You cannot create a GitLab for Slack app through the API because the integration requires an OAuth 2.0 token that you cannot get from the GitLab API alone. Instead, you must install the app from the GitLab UI. You can then use this API endpoint to update the integration.

plaintext
PUT /projects/:id/integrations/gitlab-slack-application

Parameters:

ParameterTypeRequiredDescription
channelstringnoDefault channel to use if no other channel is configured.
notify_only_broken_pipelinesbooleannoSend notifications for broken pipelines.
notify_only_when_pipeline_status_changesbooleannoSend notifications only when the pipeline status for the ref changes.
notify_only_default_branchbooleannoDeprecated: This parameter has been replaced with branches_to_be_notified.
branches_to_be_notifiedstringnoBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
alert_eventsbooleannoEnable notifications for alert events.
issues_eventsbooleannoEnable notifications for issue events.
confidential_issues_eventsbooleannoEnable notifications for confidential issue events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
note_eventsbooleannoEnable notifications for note events.
confidential_note_eventsbooleannoEnable notifications for confidential note events.
deployment_eventsbooleannoEnable notifications for deployment events.
incidents_eventsbooleannoEnable notifications for incident events.
pipeline_eventsbooleannoEnable notifications for pipeline events.
push_eventsbooleannoEnable notifications for push events.
tag_push_eventsbooleannoEnable notifications for tag push events.
vulnerability_eventsbooleannoEnable notifications for vulnerability events.
wiki_page_eventsbooleannoEnable notifications for wiki page events.
labels_to_be_notifiedstringnoLabels to send notifications for. If not set, receive notifications for all events.
labels_to_be_notified_behaviorstringnoLabels to be notified for. Valid options are match_any and match_all. Defaults to match_any.
push_channelstringnoName of the channel to receive notifications for push events.
issue_channelstringnoName of the channel to receive notifications for issue events.
confidential_issue_channelstringnoName of the channel to receive notifications for confidential issue events.
merge_request_channelstringnoName of the channel to receive notifications for merge request events.
note_channelstringnoName of the channel to receive notifications for note events.
confidential_note_channelstringnoName of the channel to receive notifications for confidential note events.
tag_push_channelstringnoName of the channel to receive notifications for tag push events.
pipeline_channelstringnoName of the channel to receive notifications for pipeline events.
wiki_page_channelstringnoName of the channel to receive notifications for wiki page events.
deployment_channelstringnoName of the channel to receive notifications for deployment events.
incident_channelstringnoName of the channel to receive notifications for incident events.
vulnerability_channelstringnoName of the channel to receive notifications for vulnerability events.
alert_channelstringnoName of the channel to receive notifications for alert events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable GitLab for Slack app

Disable the GitLab for Slack app integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/gitlab-slack-application

Get GitLab for Slack app settings

Get the GitLab for Slack app integration settings for a project.

plaintext
GET /projects/:id/integrations/gitlab-slack-application

Google Chat

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Google Chat

Set up the Google Chat integration for a project.

plaintext
PUT /projects/:id/integrations/hangouts-chat

Parameters:

ParameterTypeRequiredDescription
webhookstringyesThe Hangouts Chat webhook (for example, https://chat.googleapis.com/v1/spaces...).
notify_only_broken_pipelinesbooleannoSend notifications for broken pipelines.
notify_only_when_pipeline_status_changesbooleannoSend notifications only when the pipeline status for the ref changes.
notify_only_default_branchbooleannoDeprecated: This parameter has been replaced with branches_to_be_notified.
branches_to_be_notifiedstringnoBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_eventsbooleannoEnable notifications for push events.
issues_eventsbooleannoEnable notifications for issue events.
confidential_issues_eventsbooleannoEnable notifications for confidential issue events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
tag_push_eventsbooleannoEnable notifications for tag push events.
note_eventsbooleannoEnable notifications for note events.
confidential_note_eventsbooleannoEnable notifications for confidential note events.
pipeline_eventsbooleannoEnable notifications for pipeline events.
wiki_page_eventsbooleannoEnable notifications for wiki page events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Google Chat

Disable the Google Chat integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/hangouts-chat

Get Google Chat settings

Get the Google Chat integration settings for a project.

plaintext
GET /projects/:id/integrations/hangouts-chat

Google Artifact Management

{{< details >}}

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com
  • Status: Beta

{{< /details >}}

{{< history >}}

  • Introduced in GitLab 16.9 as a beta feature with a flag named google_cloud_support_feature_flag. Disabled by default.
  • Enabled on GitLab.com in GitLab 17.1. Feature flag google_cloud_support_feature_flag removed.
  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

This feature is in beta.

Set up Google Artifact Management

Set up the Google Artifact Management integration for a project.

plaintext
PUT /projects/:id/integrations/google-cloud-platform-artifact-registry

Parameters:

ParameterTypeRequiredDescription
artifact_registry_project_idstringyesID of the Google Cloud project.
artifact_registry_locationstringyesLocation of the Artifact Registry repository.
artifact_registry_repositoriesstringyesRepository of Artifact Registry.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Google Artifact Management

Disable the Google Artifact Management integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/google-cloud-platform-artifact-registry

Get Google Artifact Management settings

Get the Google Artifact Management integration settings for a project.

plaintext
GET /projects/:id/integrations/google-cloud-platform-artifact-registry

Google Cloud Identity and Access Management (IAM)

{{< details >}}

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com
  • Status: Beta

{{< /details >}}

{{< history >}}

  • Introduced in GitLab 16.10 as a beta feature with a flag named google_cloud_support_feature_flag. Disabled by default.
  • Enabled on GitLab.com in GitLab 17.1. Feature flag google_cloud_support_feature_flag removed.
  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

This feature is in beta.

Set up Google Cloud Identity and Access Management

Set up the Google Cloud Identity and Access Management integration for a project.

plaintext
PUT /projects/:id/integrations/google-cloud-platform-workload-identity-federation

Parameters:

ParameterTypeRequiredDescription
workload_identity_federation_project_idstringyesGoogle Cloud project ID for the Workload Identity Federation.
workload_identity_federation_project_numberintegeryesGoogle Cloud project number for the Workload Identity Federation.
workload_identity_pool_idstringyesID of the workload identity pool.
workload_identity_pool_provider_idstringyesID of the workload identity pool provider.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Google Cloud Identity and Access Management

Disable the Google Cloud Identity and Access Management integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/google-cloud-platform-workload-identity-federation

Get Google Cloud Identity and Access Management

Get the settings for the Google Cloud Identity and Access Management for a project.

plaintext
GET /projects/:id/integration/google-cloud-platform-workload-identity-federation

Google Play

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Google Play

Set up the Google Play integration for a project.

plaintext
PUT /projects/:id/integrations/google-play

Parameters:

ParameterTypeRequiredDescription
package_namestringyesPackage name of the app in Google Play.
service_account_keystringyesGoogle Play service account key.
service_account_key_file_namestringyesFile name of the Google Play service account key.
google_play_protected_refsbooleannoSet variables on protected branches and tags only.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Google Play

Disable the Google Play integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/google-play

Get Google Play settings

Get the Google Play integration settings for a project.

plaintext
GET /projects/:id/integrations/google-play

Harbor

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Harbor

Set up the Harbor integration for a project.

plaintext
PUT /projects/:id/integrations/harbor

Parameters:

ParameterTypeRequiredDescription
urlstringyesThe base URL to the Harbor instance linked to the GitLab project. For example, https://demo.goharbor.io.
project_namestringyesThe name of the project in the Harbor instance. For example, testproject.
usernamestringyesThe username created in the Harbor interface.
passwordstringyesThe password of the user.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Harbor

Disable the Harbor integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/harbor

Get Harbor settings

Get the Harbor integration settings for a project.

plaintext
GET /projects/:id/integrations/harbor

irker (IRC gateway)

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up irker

Set up the irker integration for a project.

plaintext
PUT /projects/:id/integrations/irker

Parameters:

ParameterTypeRequiredDescription
recipientsstringyesComma-separated list of channels or email addresses.
default_irc_uristringnoURI to add before each recipient. The default value is irc://irc.network.net:6697/.
server_hoststringnoirker daemon hostname. The default value is localhost.
server_portintegernoirker daemon port. The default value is 6659.
colorize_messagesbooleannoColorize messages.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable irker

Disable the irker integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/irker

Get irker settings

Get the irker integration settings for a project.

plaintext
GET /projects/:id/integrations/irker

Jenkins

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Jenkins

Set up the Jenkins integration for a project.

plaintext
PUT /projects/:id/integrations/jenkins

Parameters:

ParameterTypeRequiredDescription
jenkins_urlstringyesURL of the Jenkins server.
enable_ssl_verificationbooleannoEnable SSL verification. Defaults to true (enabled).
project_namestringyesName of the Jenkins project.
usernamestringnoUsername of the Jenkins server.
passwordstringnoPassword of the Jenkins server.
push_eventsbooleannoEnables notifications for push events.
merge_requests_eventsbooleannoEnables notifications for merge request events.
tag_push_eventsbooleannoEnables notifications for tag push events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Jenkins

Disable the Jenkins integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/jenkins

Get Jenkins settings

Get the Jenkins integration settings for a project.

plaintext
GET /projects/:id/integrations/jenkins

JetBrains TeamCity

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up JetBrains TeamCity

Set up the JetBrains TeamCity integration for a project.

The build configuration in TeamCity must use the build number format %build.vcs.number%. In the advanced settings for VCS root, configure monitoring for all branches so merge requests can build.

plaintext
PUT /projects/:id/integrations/teamcity

Parameters:

ParameterTypeRequiredDescription
teamcity_urlstringyesTeamCity root URL (for example, https://teamcity.example.com).
enable_ssl_verificationbooleannoEnable SSL verification. Defaults to true (enabled).
build_typestringyesThe build configuration ID of the TeamCity project.
usernamestringyesA user with permissions to trigger a manual build.
passwordstringyesThe password of the user.
push_eventsbooleannoEnable notifications for push events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable JetBrains TeamCity

Disable the JetBrains TeamCity integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/teamcity

Get JetBrains TeamCity settings

Get the JetBrains TeamCity integration settings for a project.

plaintext
GET /projects/:id/integrations/teamcity

Jira issues

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Jira issues

Set up the Jira issues integration for a project.

plaintext
PUT /projects/:id/integrations/jira

Parameters:

ParameterTypeRequiredDescription
urlstringyesThe URL to the Jira project which is being linked to this GitLab project (for example, https://jira.example.com).
api_urlstringnoThe base URL to the Jira instance API. Web URL value is used if not set (for example, https://jira-api.example.com).
usernamestringnoThe email or username to use with Jira. Use an email for Jira Cloud, and a username for Jira Data Center and Jira Server. Required when using Basic Authentication (jira_auth_type is 0).
passwordstringyesThe Jira API token, password, or personal access token to use with Jira. When using Basic Authentication (jira_auth_type is 0), use an API token for Jira Cloud, and a password for Jira Data Center or Jira Server. For a Jira personal access token (jira_auth_type is 1), use the personal access token.
jira_auth_typeintegernoThe authentication method to use with Jira. Use 0 for Basic Authentication, and 1 for Jira personal access token. Defaults to 0.
jira_issue_prefixstringnoPrefix to match Jira issue keys.
jira_issue_regexstringnoRegular expression to match Jira issue keys.
jira_issue_transition_automaticbooleannoEnable automatic issue transitions. Takes precedence over jira_issue_transition_id if enabled. Defaults to false.
jira_issue_transition_idstringnoThe ID of one or more transitions for custom issue transitions.Ignored when jira_issue_transition_automatic is enabled. Defaults to a blank string,which disables custom transitions.
commit_eventsbooleannoEnable notifications for commit events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
comment_on_event_enabledbooleannoEnable comments in Jira issues on each GitLab event (commit or merge request).
issues_enabledbooleannoEnable viewing Jira issues in GitLab. Introduced in GitLab 17.0.
project_keysarray of stringsnoKeys of Jira projects. When issues_enabled is true, this setting specifies which Jira projects to view issues from in GitLab. Introduced in GitLab 17.0.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.
vulnerabilities_enabledbooleannoAvailable only in GitLab EE. When set to true, creates Jira issues for GitLab vulnerabilities.
vulnerabilities_issuetypenumbernoAvailable only in GitLab EE. ID of the Jira issue type to use when creating issues from vulnerabilities.
project_keystringnoAvailable only in GitLab EE. Key of the project to use when creating issues from vulnerabilities. This parameter is required if using the integration to create issues from vulnerabilities.
customize_jira_issue_enabledbooleannoAvailable only in GitLab EE. When set to true, opens a prefilled form on the Jira instance when creating a Jira issue from a vulnerability.

Disable Jira

Disable the Jira issues integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/jira

Get Jira settings

Get the Jira issues integration settings for a project.

plaintext
GET /projects/:id/integrations/jira

Linear

{{< history >}}

{{< /history >}}

Set up Linear

Set up the Linear integration for a group.

plaintext
PUT /projects/:id/integrations/linear

Parameters:

ParameterTypeRequiredDescription
workspace_urlstringyesURL of the issue.
use_inherited_settingsbooleannoIndicates whether or not to inherit default settings. Defaults to false.

Disable Linear

Disable the Linear integration for a group. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/linear

Get Linear settings

Get the Linear integration settings for a group.

plaintext
GET /projects/:id/integrations/linear

Matrix notifications

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Matrix notifications

Set up Matrix notifications for a project.

plaintext
PUT /projects/:id/integrations/matrix

Parameters:

ParameterTypeRequiredDescription
hostnamestringnoCustom hostname of the Matrix server. The default value is https://matrix.org.
tokenstringyesThe Matrix access token (for example, syt-zyx57W2v1u123ew11).
roomstringyesUnique identifier for the target room (in the format !qPKKM111FFKKsfoCVy:matrix.org).
notify_only_broken_pipelinesbooleannoSend notifications for broken pipelines.
notify_only_when_pipeline_status_changesbooleannoSend notifications only when the pipeline status for the ref changes.
branches_to_be_notifiedstringnoBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_eventsbooleannoEnable notifications for push events.
issues_eventsbooleannoEnable notifications for issue events.
confidential_issues_eventsbooleannoEnable notifications for confidential issue events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
tag_push_eventsbooleannoEnable notifications for tag push events.
note_eventsbooleannoEnable notifications for note events.
confidential_note_eventsbooleannoEnable notifications for confidential note events.
pipeline_eventsbooleannoEnable notifications for pipeline events.
wiki_page_eventsbooleannoEnable notifications for wiki page events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Matrix notifications

Disable Matrix notifications for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/matrix

Get Matrix notifications settings

Get the Matrix notifications settings for a project.

plaintext
GET /projects/:id/integrations/matrix

Mattermost notifications

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Mattermost notifications

Set up Mattermost notifications for a project.

plaintext
PUT /projects/:id/integrations/mattermost

Parameters:

ParameterTypeRequiredDescription
webhookstringyesMattermost notifications webhook (for example, http://mattermost.example.com/hooks/...).
usernamestringnoMattermost notifications username.
channelstringnoDefault channel to use if no other channel is configured.
notify_only_broken_pipelinesbooleannoSend notifications for broken pipelines.
notify_only_when_pipeline_status_changesbooleannoSend notifications only when the pipeline status for the ref changes.
notify_only_default_branchbooleannoDeprecated: This parameter has been replaced with branches_to_be_notified.
branches_to_be_notifiedstringnoBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
labels_to_be_notifiedstringnoLabels to send notifications for. Leave blank to receive notifications for all events.
labels_to_be_notified_behaviorstringnoLabels to be notified for. Valid options are match_any and match_all. The default value is match_any.
push_eventsbooleannoEnable notifications for push events.
issues_eventsbooleannoEnable notifications for issue events.
confidential_issues_eventsbooleannoEnable notifications for confidential issue events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
tag_push_eventsbooleannoEnable notifications for tag push events.
note_eventsbooleannoEnable notifications for note events.
confidential_note_eventsbooleannoEnable notifications for confidential note events.
pipeline_eventsbooleannoEnable notifications for pipeline events.
wiki_page_eventsbooleannoEnable notifications for wiki page events.
push_channelstringnoThe name of the channel to receive notifications for push events.
issue_channelstringnoThe name of the channel to receive notifications for issue events.
confidential_issue_channelstringnoThe name of the channel to receive notifications for confidential issue events.
merge_request_channelstringnoThe name of the channel to receive notifications for merge request events.
note_channelstringnoThe name of the channel to receive notifications for note events.
confidential_note_channelstringnoThe name of the channel to receive notifications for confidential note events.
tag_push_channelstringnoThe name of the channel to receive notifications for tag push events.
pipeline_channelstringnoThe name of the channel to receive notifications for pipeline events.
wiki_page_channelstringnoThe name of the channel to receive notifications for wiki page events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Mattermost notifications

Disable Mattermost notifications for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/mattermost

Get Mattermost notifications settings

Get the Mattermost notifications settings for a project.

plaintext
GET /projects/:id/integrations/mattermost

Mattermost slash commands

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Mattermost slash commands

Set up Mattermost slash commands for a project.

plaintext
PUT /projects/:id/integrations/mattermost-slash-commands

Parameters:

ParameterTypeRequiredDescription
tokenstringyesThe Mattermost token.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Mattermost slash commands

Disable Mattermost slash commands for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/mattermost-slash-commands

Get Mattermost slash commands settings

Get the Mattermost slash commands settings for a project.

plaintext
GET /projects/:id/integrations/mattermost-slash-commands

Microsoft Teams notifications

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Microsoft Teams notifications

Set up Microsoft Teams notifications for a project.

plaintext
PUT /projects/:id/integrations/microsoft-teams

Parameters:

ParameterTypeRequiredDescription
webhookstringyesThe Microsoft Teams webhook (for example, https://outlook.office.com/webhook/...).
notify_only_broken_pipelinesbooleannoSend notifications for broken pipelines.
notify_only_when_pipeline_status_changesbooleannoSend notifications only when the pipeline status for the ref changes.
notify_only_default_branchbooleannoDeprecated: This parameter has been replaced with branches_to_be_notified.
branches_to_be_notifiedstringnoBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_eventsbooleannoEnable notifications for push events.
issues_eventsbooleannoEnable notifications for issue events.
confidential_issues_eventsbooleannoEnable notifications for confidential issue events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
tag_push_eventsbooleannoEnable notifications for tag push events.
note_eventsbooleannoEnable notifications for note events.
confidential_note_eventsbooleannoEnable notifications for confidential note events.
pipeline_eventsbooleannoEnable notifications for pipeline events.
wiki_page_eventsbooleannoEnable notifications for wiki page events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Microsoft Teams notifications

Disable Microsoft Teams notifications for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/microsoft-teams

Get Microsoft Teams notifications settings

Get the Microsoft Teams notifications settings for a project.

plaintext
GET /projects/:id/integrations/microsoft-teams

Mock CI

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

This integration is only available in a development environment. For an example Mock CI server, see gitlab-org/gitlab-mock-ci-service.

Set up Mock CI

Set up the Mock CI integration for a project.

plaintext
PUT /projects/:id/integrations/mock-ci

Parameters:

ParameterTypeRequiredDescription
mock_service_urlstringyesURL of the Mock CI integration.
enable_ssl_verificationbooleannoEnable SSL verification. Defaults to true (enabled).
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Mock CI

Disable the Mock CI integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/mock-ci

Get Mock CI settings

Get the Mock CI integration settings for a project.

plaintext
GET /projects/:id/integrations/mock-ci

Packagist

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Packagist

Set up the Packagist integration for a project.

plaintext
PUT /projects/:id/integrations/packagist

Parameters:

ParameterTypeRequiredDescription
usernamestringyesUsername of a Packagist account.
tokenstringyesAPI token of the Packagist server.
serverbooleannoURL of the Packagist server. The default value is https://packagist.org.
push_eventsbooleannoEnable notifications for push events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
tag_push_eventsbooleannoEnable notifications for tag push events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Packagist

Disable the Packagist integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/packagist

Get Packagist settings

Get the Packagist integration settings for a project.

plaintext
GET /projects/:id/integrations/packagist

Phorge

{{< history >}}

  • Introduced in GitLab 16.11.
  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Phorge

Set up the Phorge integration for a project.

plaintext
PUT /projects/:id/integrations/phorge

Parameters:

ParameterTypeRequiredDescription
issues_urlstringyesURL of the issue.
project_urlstringyesURL of the project.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Phorge

Disable the Phorge integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/phorge

Get Phorge settings

Get the Phorge integration settings for a project.

plaintext
GET /projects/:id/integrations/phorge

Pipeline status emails

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up pipeline status emails

Set up pipeline status emails for a project.

plaintext
PUT /projects/:id/integrations/pipelines-email

Parameters:

ParameterTypeRequiredDescription
recipientsstringyesComma-separated list of recipient email addresses.
notify_only_broken_pipelinesbooleannoSend notifications for broken pipelines.
branches_to_be_notifiedstringnoBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
notify_only_default_branchbooleannoSend notifications for the default branch.
pipeline_eventsbooleannoEnable notifications for pipeline events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable pipeline status emails

Disable pipeline status emails for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/pipelines-email

Get pipeline status emails settings

Get the pipeline status emails settings for a project.

plaintext
GET /projects/:id/integrations/pipelines-email

Pivotal Tracker

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Pivotal Tracker

Set up the Pivotal Tracker integration for a project.

plaintext
PUT /projects/:id/integrations/pivotaltracker

Parameters:

ParameterTypeRequiredDescription
tokenstringyesThe Pivotal Tracker token.
restrict_to_branchbooleannoComma-separated list of branches to automatically inspect. Leave blank to include all branches.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Pivotal Tracker

Disable the Pivotal Tracker integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/pivotaltracker

Get Pivotal Tracker settings

Get the Pivotal Tracker integration settings for a project.

plaintext
GET /projects/:id/integrations/pivotaltracker

Pumble

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Pumble

Set up the Pumble integration for a project.

plaintext
PUT /projects/:id/integrations/pumble

Parameters:

ParameterTypeRequiredDescription
webhookstringyesThe Pumble webhook (for example, https://api.pumble.com/workspaces/x/...).
branches_to_be_notifiedstringnoBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default is default.
confidential_issues_eventsbooleannoEnable notifications for confidential issue events.
confidential_note_eventsbooleannoEnable notifications for confidential note events.
issues_eventsbooleannoEnable notifications for issue events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
note_eventsbooleannoEnable notifications for note events.
notify_only_broken_pipelinesbooleannoSend notifications for broken pipelines.
pipeline_eventsbooleannoEnable notifications for pipeline events.
push_eventsbooleannoEnable notifications for push events.
tag_push_eventsbooleannoEnable notifications for tag push events.
wiki_page_eventsbooleannoEnable notifications for wiki page events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Pumble

Disable the Pumble integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/pumble

Get Pumble settings

Get the Pumble integration settings for a project.

plaintext
GET /projects/:id/integrations/pumble

Pushover

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Pushover

Set up the Pushover integration for a project.

plaintext
PUT /projects/:id/integrations/pushover

Parameters:

ParameterTypeRequiredDescription
api_keystringyesThe application key.
user_keystringyesThe user key.
prioritystringyesThe priority.
devicestringnoLeave blank for all active devices.
soundstringnoThe sound of the notification.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Pushover

Disable the Pushover integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/pushover

Get Pushover settings

Get the Pushover integration settings for a project.

plaintext
GET /projects/:id/integrations/pushover

Redmine

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Redmine

Set up the Redmine integration for a project.

plaintext
PUT /projects/:id/integrations/redmine

Parameters:

ParameterTypeRequiredDescription
new_issue_urlstringyesURL of the new issue.
project_urlstringyesURL of the project.
issues_urlstringyesURL of the issue.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Redmine

Disable the Redmine integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/redmine

Get Redmine settings

Get the Redmine integration settings for a project.

plaintext
GET /projects/:id/integrations/redmine

Slack notifications

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Slack notifications

Set up Slack notifications for a project.

plaintext
PUT /projects/:id/integrations/slack

Parameters:

ParameterTypeRequiredDescription
webhookstringyesSlack notifications webhook (for example, https://hooks.slack.com/services/...).
usernamestringnoSlack notifications username.
channelstringnoDefault channel to use if no other channel is configured.
notify_only_broken_pipelinesbooleannoSend notifications for broken pipelines.
notify_only_when_pipeline_status_changesbooleannoSend notifications only when the pipeline status for the ref changes.
notify_only_default_branchbooleannoDeprecated: This parameter has been replaced with branches_to_be_notified.
branches_to_be_notifiedstringnoBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
labels_to_be_notifiedstringnoLabels to send notifications for. Leave blank to receive notifications for all events.
labels_to_be_notified_behaviorstringnoLabels to be notified for. Valid options are match_any and match_all. The default value is match_any.
alert_channelstringnoThe name of the channel to receive notifications for alert events.
alert_eventsbooleannoEnable notifications for alert events.
commit_eventsbooleannoEnable notifications for commit events.
confidential_issue_channelstringnoThe name of the channel to receive notifications for confidential issue events.
confidential_issues_eventsbooleannoEnable notifications for confidential issue events.
confidential_note_channelstringnoThe name of the channel to receive notifications for confidential note events.
confidential_note_eventsbooleannoEnable notifications for confidential note events.
deployment_channelstringnoThe name of the channel to receive notifications for deployment events.
deployment_eventsbooleannoEnable notifications for deployment events.
incident_channelstringnoThe name of the channel to receive notifications for incident events.
incidents_eventsbooleannoEnable notifications for incident events.
issue_channelstringnoThe name of the channel to receive notifications for issue events.
issues_eventsbooleannoEnable notifications for issue events.
job_eventsbooleannoEnable notifications for job events.
merge_request_channelstringnoThe name of the channel to receive notifications for merge request events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
note_channelstringnoThe name of the channel to receive notifications for note events.
note_eventsbooleannoEnable notifications for note events.
pipeline_channelstringnoThe name of the channel to receive notifications for pipeline events.
pipeline_eventsbooleannoEnable notifications for pipeline events.
push_channelstringnoThe name of the channel to receive notifications for push events.
push_eventsbooleannoEnable notifications for push events.
tag_push_channelstringnoThe name of the channel to receive notifications for tag push events.
tag_push_eventsbooleannoEnable notifications for tag push events.
wiki_page_channelstringnoThe name of the channel to receive notifications for wiki page events.
wiki_page_eventsbooleannoEnable notifications for wiki page events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Slack notifications

Disable Slack notifications for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/slack

Get Slack notifications settings

Get the Slack notifications settings for a project.

plaintext
GET /projects/:id/integrations/slack

Slack slash commands

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Slack slash commands

Set up Slack slash commands for a project.

plaintext
PUT /projects/:id/integrations/slack-slash-commands

Parameters:

ParameterTypeRequiredDescription
tokenstringyesThe Slack token.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Slack slash commands

Disable Slack slash commands for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/slack-slash-commands

Get Slack slash commands settings

Get the Slack slash commands settings for a project.

plaintext
GET /projects/:id/integrations/slack-slash-commands

Example response:

json
{
  "id": 4,
  "title": "Slack slash commands",
  "slug": "slack-slash-commands",
  "created_at": "2017-06-27T05:51:39-07:00",
  "updated_at": "2017-06-27T05:51:39-07:00",
  "active": true,
  "push_events": true,
  "issues_events": true,
  "confidential_issues_events": true,
  "merge_requests_events": true,
  "tag_push_events": true,
  "note_events": true,
  "job_events": true,
  "pipeline_events": true,
  "comment_on_event_enabled": false,
  "inherited": false,
  "properties": {
    "token": "<your_access_token>"
  }
}

Squash TM

{{< history >}}

  • Introduced in GitLab 15.10.
  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Squash TM

Set up the Squash TM integration settings for a project.

plaintext
PUT /projects/:id/integrations/squash-tm

Parameters:

ParameterTypeRequiredDescription
urlstringyesURL of the Squash TM webhook.
tokenstringnoSecret token.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Squash TM

Disable the Squash TM integration for a project. Integration settings are preserved.

plaintext
DELETE /projects/:id/integrations/squash-tm

Get Squash TM settings

Get the Squash TM integration settings for a project.

plaintext
GET /projects/:id/integrations/squash-tm

Telegram

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Telegram

Set up the Telegram integration for a project.

plaintext
PUT /projects/:id/integrations/telegram

Parameters:

ParameterTypeRequiredDescription
hostnamestringnoCustom hostname of the Telegram API (introduced in GitLab 17.1). The default value is https://api.telegram.org.
tokenstringyesThe Telegram bot token (for example, 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11).
roomstringyesUnique identifier for the target chat or the username of the target channel (in the format @channelusername).
threadintegernoUnique identifier for the target message thread (topic in a forum supergroup). Introduced in GitLab 16.11.
notify_only_broken_pipelinesbooleannoSend notifications for broken pipelines.
notify_only_when_pipeline_status_changesbooleannoSend notifications only when the pipeline status for the ref changes.
branches_to_be_notifiedstringnoBranches to send notifications for (introduced in GitLab 16.5). Valid options are all, default, protected, and default_and_protected. The default value is default.
push_eventsbooleanyesEnable notifications for push events.
issues_eventsbooleanyesEnable notifications for issue events.
confidential_issues_eventsbooleanyesEnable notifications for confidential issue events.
merge_requests_eventsbooleanyesEnable notifications for merge request events.
tag_push_eventsbooleanyesEnable notifications for tag push events.
note_eventsbooleanyesEnable notifications for note events.
confidential_note_eventsbooleanyesEnable notifications for confidential note events.
pipeline_eventsbooleanyesEnable notifications for pipeline events.
wiki_page_eventsbooleanyesEnable notifications for wiki page events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Telegram

Disable the Telegram integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/telegram

Get Telegram settings

Get the Telegram integration settings for a project.

plaintext
GET /projects/:id/integrations/telegram

Unify Circuit

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Unify Circuit

Set up the Unify Circuit integration for a project.

plaintext
PUT /projects/:id/integrations/unify-circuit

Parameters:

ParameterTypeRequiredDescription
webhookstringyesThe Unify Circuit webhook (for example, https://circuit.com/rest/v2/webhooks/incoming/...).
notify_only_broken_pipelinesbooleannoSend notifications for broken pipelines.
notify_only_when_pipeline_status_changesbooleannoSend notifications only when the pipeline status for the ref changes.
branches_to_be_notifiedstringnoBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_eventsbooleannoEnable notifications for push events.
issues_eventsbooleannoEnable notifications for issue events.
confidential_issues_eventsbooleannoEnable notifications for confidential issue events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
tag_push_eventsbooleannoEnable notifications for tag push events.
note_eventsbooleannoEnable notifications for note events.
confidential_note_eventsbooleannoEnable notifications for confidential note events.
pipeline_eventsbooleannoEnable notifications for pipeline events.
wiki_page_eventsbooleannoEnable notifications for wiki page events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Unify Circuit

Disable the Unify Circuit integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/unify-circuit

Get Unify Circuit settings

Get the Unify Circuit integration settings for a project.

plaintext
GET /projects/:id/integrations/unify-circuit

Webex Teams

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up Webex Teams

Set up Webex Teams for a project.

plaintext
PUT /projects/:id/integrations/webex-teams

Parameters:

ParameterTypeRequiredDescription
webhookstringyesThe Webex Teams webhook (for example, https://api.ciscospark.com/v1/webhooks/incoming/...).
notify_only_broken_pipelinesbooleannoSend notifications for broken pipelines.
branches_to_be_notifiedstringnoBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_eventsbooleannoEnable notifications for push events.
issues_eventsbooleannoEnable notifications for issue events.
confidential_issues_eventsbooleannoEnable notifications for confidential issue events.
merge_requests_eventsbooleannoEnable notifications for merge request events.
tag_push_eventsbooleannoEnable notifications for tag push events.
note_eventsbooleannoEnable notifications for note events.
confidential_note_eventsbooleannoEnable notifications for confidential note events.
pipeline_eventsbooleannoEnable notifications for pipeline events.
wiki_page_eventsbooleannoEnable notifications for wiki page events.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable Webex Teams

Disable Webex Teams for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/webex-teams

Get Webex Teams settings

Get the Webex Teams settings for a project.

plaintext
GET /projects/:id/integrations/webex-teams

YouTrack

{{< history >}}

  • use_inherited_settings parameter introduced in GitLab 17.2 with a flag named integration_api_inheritance. Disabled by default.
  • use_inherited_settings parameter generally available in GitLab 17.3. Feature flag integration_api_inheritance removed.

{{< /history >}}

Set up YouTrack

Set up the YouTrack integration for a project.

plaintext
PUT /projects/:id/integrations/youtrack

Parameters:

ParameterTypeRequiredDescription
issues_urlstringyesURL of the issue.
project_urlstringyesURL of the project.
use_inherited_settingsbooleannoIndicates whether to inherit the default settings. Defaults to false.

Disable YouTrack

Disable the YouTrack integration for a project. Integration settings are reset.

plaintext
DELETE /projects/:id/integrations/youtrack

Get YouTrack settings

Get the YouTrack integration settings for a project.

plaintext
GET /projects/:id/integrations/youtrack