gitlab-ce/doc/api/integrations.md

53 KiB

stage group info
Manage Import and Integrate To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments

Integrations API (FREE ALL)

This API enables you to work with external services that integrate with GitLab.

NOTE: In GitLab 14.4, the services endpoint was renamed to integrations. Calls to the Integrations API can be made to both /projects/:id/services and /projects/:id/integrations. The examples in this document refer to the endpoint at /projects/:id/integrations.

This API requires an access token with the Maintainer or Owner role.

List all active integrations

vulnerability_events field introduced in GitLab 16.4.

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

GET /projects/:id/integrations

Example response:

[
  {
    "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,
    "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,
    "vulnerability_events": true
  }
]

Apple App Store

Set up Apple App Store

Set up the Apple App Store integration for a project.

PUT /projects/:id/integrations/apple_app_store

Parameters:

Parameter Type Required Description
app_store_issuer_id string true The Apple App Store Connect Issuer ID.
app_store_key_id string true The Apple App Store Connect Key ID.
app_store_private_key string true The Apple App Store Connect Private Key.
app_store_protected_refs boolean false Set variables only on protected branches and tags. Defaults to true (enabled).

Disable Apple App Store

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

DELETE /projects/:id/integrations/apple_app_store

Get Apple App Store settings

Get the Apple App Store integration settings for a project.

GET /projects/:id/integrations/apple_app_store

Asana

Set up Asana

Set up the Asana integration for a project.

PUT /projects/:id/integrations/asana

Parameters:

Parameter Type Required Description
api_key string true User API token. User must have access to task. All comments are attributed to this user.
restrict_to_branch string false Comma-separated list of branches to be are automatically inspected. Leave blank to include all branches.

Disable Asana

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

DELETE /projects/:id/integrations/asana

Get Asana settings

Get the Asana integration settings for a project.

GET /projects/:id/integrations/asana

Assembla

Set up Assembla

Set up the Assembla integration for a project.

PUT /projects/:id/integrations/assembla

Parameters:

Parameter Type Required Description
token string true The authentication token.
subdomain string false The subdomain setting.

Disable Assembla

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

DELETE /projects/:id/integrations/assembla

Get Assembla settings

Get the Assembla integration settings for a project.

GET /projects/:id/integrations/assembla

Atlassian Bamboo

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.

PUT /projects/:id/integrations/bamboo

Parameters:

Parameter Type Required Description
bamboo_url string true Bamboo root URL (for example, https://bamboo.example.com).
enable_ssl_verification boolean false Enable SSL verification. Defaults to true (enabled).
build_key string true Bamboo build plan key like KEY.
username string true A user with API access, if applicable.
password string true Password of the user.

Disable Atlassian Bamboo

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

DELETE /projects/:id/integrations/bamboo

Get Atlassian Bamboo settings

Get the Atlassian Bamboo integration settings for a project.

GET /projects/:id/integrations/bamboo

Bugzilla

Set up Bugzilla

Set up the Bugzilla integration for a project.

PUT /projects/:id/integrations/bugzilla

Parameters:

Parameter Type Required Description
new_issue_url string true New Issue URL
issues_url string true Issue URL
project_url string true Project URL

Disable Bugzilla

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

DELETE /projects/:id/integrations/bugzilla

Get Bugzilla settings

Get the Bugzilla integration settings for a project.

GET /projects/:id/integrations/bugzilla

Buildkite

Set up Buildkite

Set up the Buildkite integration for a project.

PUT /projects/:id/integrations/buildkite

Parameters:

Parameter Type Required Description
token string true Buildkite project GitLab token.
project_url string true Pipeline URL. For example, https://buildkite.com/example/pipeline.
enable_ssl_verification boolean false Deprecated: This parameter has no effect because SSL verification is always enabled.
push_events boolean false Enable notifications for push events.
merge_requests_events boolean false Enable notifications for merge request events.
tag_push_events boolean false Enable notifications for tag push events.

Disable Buildkite

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

DELETE /projects/:id/integrations/buildkite

Get Buildkite settings

Get the Buildkite integration settings for a project.

GET /projects/:id/integrations/buildkite

Campfire

Set up Campfire

Set up the Campfire integration for a project.

PUT /projects/:id/integrations/campfire

Parameters:

Parameter Type Required Description
token string true Campfire API token. To find it, sign in to Campfire and select My info.
subdomain string false Campfire subdomain. Text between https:// and .campfirenow.com when you're logged in.
room string false Campfire room. The last part of the URL when you're in a room.

Disable Campfire

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

DELETE /projects/:id/integrations/campfire

Get Campfire settings

Get the Campfire integration settings for a project.

GET /projects/:id/integrations/campfire

ClickUp

Introduced in GitLab 16.1.

Set up ClickUp

Set up the ClickUp integration for a project.

PUT /projects/:id/integrations/clickup

Parameters:

Parameter Type Required Description
issues_url string true Issue URL.
project_url string true Project URL.

Disable ClickUp

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

DELETE /projects/:id/integrations/clickup

Get ClickUp settings

Get the ClickUp integration settings for a project.

GET /projects/:id/integrations/clickup

Datadog

Set up Datadog

Set up the Datadog integration for a project.

PUT /projects/:id/integrations/datadog

Parameters:

Parameter Type Required Description
api_key string true API key used for authentication with Datadog.
api_url string false (Advanced) The full URL for your Datadog site
datadog_env string false For self-managed deployments, set the env% tag for all the data sent to Datadog.
datadog_service string false Tag all data from this GitLab instance in Datadog. Useful when managing several self-managed deployments
datadog_site string false The Datadog site to send data to. To send data to the EU site, use datadoghq.eu
datadog_tags string false Custom tags in Datadog. Specify one tag per line in the format: key:value\nkey2:value2 (Introduced in GitLab 14.8.)
archive_trace_events boolean false When enabled, job logs are collected by Datadog and displayed along with pipeline execution traces (introduced in GitLab 15.3)

Disable Datadog

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

DELETE /projects/:id/integrations/datadog

Get Datadog settings

Get the Datadog integration settings for a project.

GET /projects/:id/integrations/datadog

Telegram

Set up Telegram

Set up the Telegram integration for a project.

PUT /projects/:id/integrations/telegram

Parameters:

Parameter Type Required Description
token string true The Telegram bot token. For example, 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11.
room string true Unique identifier for the target chat or the username of the target channel (in the format @channelusername)
notify_only_broken_pipelines boolean false Send notifications for broken pipelines
push_events boolean true Enable notifications for push events
issues_events boolean true Enable notifications for issue events
confidential_issues_events boolean true Enable notifications for confidential issue events
merge_requests_events boolean true Enable notifications for merge request events
tag_push_events boolean true Enable notifications for tag push events
note_events boolean true Enable notifications for note events
confidential_note_events boolean true Enable notifications for confidential note events
pipeline_events boolean true Enable notifications for pipeline events
wiki_page_events boolean true Enable notifications for wiki page events

Disable Telegram

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

DELETE /projects/:id/integrations/telegram

Get Telegram settings

Get the Telegram integration settings for a project.

GET /projects/:id/integrations/telegram

Unify Circuit

Set up Unify Circuit

Set up the Unify Circuit integration for a project.

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

Parameters:

Parameter Type Required Description
webhook string true The Unify Circuit webhook (for example, https://circuit.com/rest/v2/webhooks/incoming/...).
notify_only_broken_pipelines boolean false Send notifications for broken pipelines.
branches_to_be_notified string false Branches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_events boolean false Enable notifications for push events.
issues_events boolean false Enable notifications for issue events.
confidential_issues_events boolean false Enable notifications for confidential issue events.
merge_requests_events boolean false Enable notifications for merge request events.
tag_push_events boolean false Enable notifications for tag push events.
note_events boolean false Enable notifications for note events.
confidential_note_events boolean false Enable notifications for confidential note events.
pipeline_events boolean false Enable notifications for pipeline events.
wiki_page_events boolean false Enable notifications for wiki page events.

Disable Unify Circuit

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

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

Get Unify Circuit settings

Get the Unify Circuit integration settings for a project.

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

Pumble

Set up Pumble

Set up the Pumble integration for a project.

PUT /projects/:id/integrations/pumble

Parameters:

Parameter Type Required Description
webhook string true The Pumble webhook (for example, https://api.pumble.com/workspaces/x/...).
branches_to_be_notified string false Branches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default is default.
confidential_issues_events boolean false Enable notifications for confidential issue events.
confidential_note_events boolean false Enable notifications for confidential note events.
issues_events boolean false Enable notifications for issue events.
merge_requests_events boolean false Enable notifications for merge request events.
note_events boolean false Enable notifications for note events.
notify_only_broken_pipelines boolean false Send notifications for broken pipelines.
pipeline_events boolean false Enable notifications for pipeline events.
push_events boolean false Enable notifications for push events.
tag_push_events boolean false Enable notifications for tag push events.
wiki_page_events boolean false Enable notifications for wiki page events.

Disable Pumble

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

DELETE /projects/:id/integrations/pumble

Get Pumble settings

Get the Pumble integration settings for a project.

GET /projects/:id/integrations/pumble

Webex Teams

Set up Webex Teams

Set up the Webex Teams integration for a project.

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

Parameters:

Parameter Type Required Description
webhook string true The Webex Teams webhook (for example, https://api.ciscospark.com/v1/webhooks/incoming/...).
notify_only_broken_pipelines boolean false Send notifications for broken pipelines.
branches_to_be_notified string false Branches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_events boolean false Enable notifications for push events.
issues_events boolean false Enable notifications for issue events.
confidential_issues_events boolean false Enable notifications for confidential issue events.
merge_requests_events boolean false Enable notifications for merge request events.
tag_push_events boolean false Enable notifications for tag push events.
note_events boolean false Enable notifications for note events.
confidential_note_events boolean false Enable notifications for confidential note events.
pipeline_events boolean false Enable notifications for pipeline events.
wiki_page_events boolean false Enable notifications for wiki page events.

Disable Webex Teams

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

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

Get Webex Teams settings

Get the Webex Teams integration settings for a project.

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

Custom issue tracker

Set up a custom issue tracker

Set up a custom issue tracker for a project.

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

Parameters:

Parameter Type Required Description
new_issue_url string true New Issue URL
issues_url string true Issue URL
project_url string true Project URL

Disable a custom issue tracker

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

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

Get custom issue tracker settings

Get the custom issue tracker settings for a project.

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

Discord Notifications

Set up Discord Notifications

_channel parameters introduced in GitLab 16.3.

Set up the Discord Notifications integration for a project.

PUT /projects/:id/integrations/discord

Parameters:

Parameter Type Required Description
webhook string true Discord webhook (for example, https://discord.com/api/webhooks/…).
branches_to_be_notified string false Branches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
confidential_issues_events boolean false Enable notifications for confidential issue events.
confidential_issue_channel string false The webhook override to receive confidential issues events notifications.
confidential_note_events boolean false Enable notifications for confidential note events.
confidential_note_channel string false The webhook override to receive confidential note events notifications.
issues_events boolean false Enable notifications for issue events.
issue_channel string false The webhook override to receive issues events notifications.
merge_requests_events boolean false Enable notifications for merge request events.
merge_request_channel string false The webhook override to receive merge request events notifications.
note_events boolean false Enable notifications for note events.
note_channel string false The webhook override to receive note events notifications.
notify_only_broken_pipelines boolean false Send notifications for broken pipelines.
pipeline_events boolean false Enable notifications for pipeline events.
pipeline_channel string false The webhook override to receive pipeline events notifications.
push_events boolean false Enable notifications for push events.
push_channel string false The webhook override to receive push events notifications.
tag_push_events boolean false Enable notifications for tag push events.
tag_push_channel string false The webhook override to receive tag push events notifications.
wiki_page_events boolean false Enable notifications for wiki page events.
wiki_page_channel string false The webhook override to receive wiki page events notifications.

Disable Discord Notifications

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

DELETE /projects/:id/integrations/discord

Get Discord Notifications settings

Get the Discord Notifications integration settings for a project.

GET /projects/:id/integrations/discord

Drone

Set up Drone

Set up the Drone integration for a project.

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

Parameters:

Parameter Type Required Description
token string true Drone CI project specific token.
drone_url string true http://drone.example.com.
enable_ssl_verification boolean false Enable SSL verification. Defaults to true (enabled).
push_events boolean false Enable notifications for push events.
merge_requests_events boolean false Enable notifications for merge request events.
tag_push_events boolean false Enable notifications for tag push events.

Disable Drone

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

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

Get Drone settings

Get the Drone integration settings for a project.

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

Emails on push

Set up emails on push

Set up the emails on push integration for a project.

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

Parameters:

Parameter Type Required Description
recipients string true Emails separated by whitespace.
disable_diffs boolean false Disable code diffs.
send_from_committer_email boolean false Send from committer.
push_events boolean false Enable notifications for push events.
tag_push_events boolean false Enable notifications for tag push events.
branches_to_be_notified string false Branches 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.

Disable emails on push

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

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

Get emails on push settings

Get the emails on push integration settings for a project.

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

Engineering Workflow Management (EWM)

Set up EWM

Set up the EWM integration for a project.

PUT /projects/:id/integrations/ewm

Parameters:

Parameter Type Required Description
new_issue_url string true The URL to create an issue in EWM.
project_url string true The URL to the project in EWM.
issues_url string true The URL to view an issue in EWM. Must contain :id.

Disable EWM

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

DELETE /projects/:id/integrations/ewm

Get EWM settings

Get the EWM integration settings for a project.

GET /projects/:id/integrations/ewm

Confluence Workspace

Set up Confluence Workspace

Set up the Confluence Workspace integration for a project.

PUT /projects/:id/integrations/confluence

Parameters:

Parameter Type Required Description
confluence_url string true The URL of the Confluence Cloud Workspace hosted on atlassian.net.

Disable Confluence Workspace

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

DELETE /projects/:id/integrations/confluence

Get Confluence Workspace settings

Get the Confluence Workspace integration settings for a project.

GET /projects/:id/integrations/confluence

External wiki

Set up an external wiki

Set up an external wiki for a project.

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

Parameters:

Parameter Type Required Description
external_wiki_url string true The URL of the external wiki

Disable an external wiki

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

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

Get external wiki settings

Get the external wiki settings for a project.

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

GitHub (PREMIUM ALL)

Set up GitHub

Set up the GitHub integration for a project.

PUT /projects/:id/integrations/github

Parameters:

Parameter Type Required Description
token string true GitHub API token with repo:status OAuth scope.
repository_url string true GitHub repository URL.
static_context boolean false Append instance name instead of branch to status check name.

Disable GitHub

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

DELETE /projects/:id/integrations/github

Get GitHub settings

Get the GitHub integration settings for a project.

GET /projects/:id/integrations/github

Google Chat

Set up Google Chat

Set up the Google Chat integration for a project.

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

Parameters:

Parameter Type Required Description
webhook string true The Hangouts Chat webhook (for example, https://chat.googleapis.com/v1/spaces...).
notify_only_broken_pipelines boolean false Send notifications for broken pipelines.
notify_only_default_branch boolean false DEPRECATED: This parameter has been replaced with branches_to_be_notified.
branches_to_be_notified string false Branches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_events boolean false Enable notifications for push events.
issues_events boolean false Enable notifications for issue events.
confidential_issues_events boolean false Enable notifications for confidential issue events.
merge_requests_events boolean false Enable notifications for merge request events.
tag_push_events boolean false Enable notifications for tag push events.
note_events boolean false Enable notifications for note events.
confidential_note_events boolean false Enable notifications for confidential note events.
pipeline_events boolean false Enable notifications for pipeline events.
wiki_page_events boolean false Enable notifications for wiki page events.

Disable Google Chat

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

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

Get Google Chat settings

Get the Google Chat integration settings for a project.

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

irker (IRC gateway)

Set up irker

Set up the irker integration for a project.

PUT /projects/:id/integrations/irker

Parameters:

Parameter Type Required Description
recipients string true Recipients/channels separated by whitespaces
default_irc_uri string false irc://irc.network.net:6697/
server_host string false localhost
server_port integer false 6659
colorize_messages boolean false Colorize messages

Disable irker

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

DELETE /projects/:id/integrations/irker

Get irker settings

Get the irker integration settings for a project.

GET /projects/:id/integrations/irker

Jira

Set up Jira

Set up the Jira integration for a project.

PUT /projects/:id/integrations/jira

Parameters:

Parameter Type Required Description
url string yes The URL to the Jira project which is being linked to this GitLab project (for example, https://jira.example.com).
api_url string no The base URL to the Jira instance API. Web URL value is used if not set (for example, https://jira-api.example.com).
username string no The email or username to be used with Jira. For Jira Cloud use an email, for Jira Data Center and Jira Server use a username. Required when using Basic authentication (jira_auth_type is 0).
password string yes The Jira API token, password, or personal access token to be used with Jira. When your authentication method is basic (jira_auth_type is 0), use an API token for Jira Cloud or a password for Jira Data Center or Jira Server. When your authentication method is a Jira personal access token (jira_auth_type is 1), use the personal access token.
active boolean no Activates or deactivates the integration. Defaults to false (deactivated).
jira_auth_type integer no The authentication method to be used with Jira. 0 means Basic Authentication. 1 means Jira personal access token. Defaults to 0.
jira_issue_prefix string no Prefix to match Jira issue keys.
jira_issue_regex string no Regular expression to match Jira issue keys.
jira_issue_transition_automatic boolean no Enable automatic issue transitions. Takes precedence over jira_issue_transition_id if enabled. Defaults to false.
jira_issue_transition_id string no The ID of one or more transitions for custom issue transitions. Ignored if jira_issue_transition_automatic is enabled. Defaults to a blank string, which disables custom transitions.
commit_events boolean false Enable notifications for commit events.
merge_requests_events boolean false Enable notifications for merge request events.
comment_on_event_enabled boolean false Enable comments inside Jira issues on each GitLab event (commit / merge request).

Disable Jira

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

DELETE /projects/:id/integrations/jira

Get Jira settings

Get the Jira integration settings for a project.

GET /projects/:id/integrations/jira

Slack slash commands

Set up Slack slash commands

Set up Slack slash commands for a project.

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

Parameters:

Parameter Type Required Description
token string yes The Slack token.

Disable Slack slash commands

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

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

Get Slack Slash Commands settings

Get the Slack slash commands settings for a project.

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

Example response:

{
  "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,
  "properties": {
    "token": "<your_access_token>"
  }
}

Mattermost slash commands

Set up Mattermost slash commands

Set up Mattermost slash commands for a project.

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

Parameters:

Parameter Type Required Description
token string yes The Mattermost token.

Disable Mattermost slash commands

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

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

Get Mattermost slash commands settings

Get the Mattermost slash commands settings for a project.

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

Packagist

Set up Packagist

Set up the Packagist integration for a project.

PUT /projects/:id/integrations/packagist

Parameters:

Parameter Type Required Description
username string yes The username of a Packagist account.
token string yes API token to the Packagist server.
server boolean no URL of the Packagist server. Leave blank for the default <https://packagist.org>.
push_events boolean false Enable notifications for push events.
merge_requests_events boolean false Enable notifications for merge request events.
tag_push_events boolean false Enable notifications for tag push events.

Disable Packagist

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

DELETE /projects/:id/integrations/packagist

Get Packagist settings

Get the Packagist integration settings for a project.

GET /projects/:id/integrations/packagist

Pipeline status emails

Set up pipeline status emails

Set up pipeline status emails for a project.

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

Parameters:

Parameter Type Required Description
recipients string yes Comma-separated list of recipient email addresses.
notify_only_broken_pipelines boolean no Notify only broken pipelines.
branches_to_be_notified string false Branches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
notify_only_default_branch boolean no Send notifications only for the default branch.
pipeline_events boolean false Enable notifications for pipeline events.

Disable pipeline status emails

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

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

Get pipeline status emails settings

Get the pipeline status emails settings for a project.

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

Pivotal Tracker

Set up Pivotal Tracker

Set up the Pivotal Tracker integration for a project.

PUT /projects/:id/integrations/pivotaltracker

Parameters:

Parameter Type Required Description
token string true The Pivotal Tracker token.
restrict_to_branch boolean false Comma-separated list of branches to automatically inspect. Leave blank to include all branches.

Disable Pivotal Tracker

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

DELETE /projects/:id/integrations/pivotaltracker

Get Pivotal Tracker settings

Get the Pivotal Tracker integration settings for a project.

GET /projects/:id/integrations/pivotaltracker

Pushover

Set up Pushover

Set up the Pushover integration for a project.

PUT /projects/:id/integrations/pushover

Parameters:

Parameter Type Required Description
api_key string true Your application key.
user_key string true Your user key.
priority string true The priority.
device string false Leave blank for all active devices.
sound string false The sound of the notification.

Disable Pushover

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

DELETE /projects/:id/integrations/pushover

Get Pushover settings

Get the Pushover integration settings for a project.

GET /projects/:id/integrations/pushover

Redmine

Set up Redmine

Set up the Redmine integration for a project.

PUT /projects/:id/integrations/redmine

Parameters:

Parameter Type Required Description
new_issue_url string true New Issue URL.
project_url string true Project URL.
issues_url string true Issue URL.

Disable Redmine

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

DELETE /projects/:id/integrations/redmine

Get Redmine settings

Get the Redmine integration settings for a project.

GET /projects/:id/integrations/redmine

GitLab for Slack app

Set up the GitLab for Slack app

Set up the GitLab for Slack app for a project.

PUT /projects/:id/integrations/slack

Parameters:

Parameter Type Required Description
webhook string true https://hooks.slack.com/services/....
username string false username.
channel string false Default channel to use if others are not configured.
notify_only_broken_pipelines boolean false Send notifications for broken pipelines.
notify_only_default_branch boolean false DEPRECATED: This parameter has been replaced with branches_to_be_notified.
branches_to_be_notified string false Branches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
alert_channel string false The name of the channel to receive alert events notifications.
alert_events boolean false Enable notifications for alert events.
commit_events boolean false Enable notifications for commit events.
confidential_issue_channel string false The name of the channel to receive confidential issues events notifications.
confidential_issues_events boolean false Enable notifications for confidential issue events.
confidential_note_channel string false The name of the channel to receive confidential note events notifications.
confidential_note_events boolean false Enable notifications for confidential note events.
deployment_channel string false The name of the channel to receive deployment events notifications.
deployment_events boolean false Enable notifications for deployment events.
incident_channel string false The name of the channel to receive incidents events notifications.
incidents_events boolean false Enable notifications for incident events.
issue_channel string false The name of the channel to receive issues events notifications.
issues_events boolean false Enable notifications for issue events.
job_events boolean false Enable notifications for job events.
merge_request_channel string false The name of the channel to receive merge request events notifications.
merge_requests_events boolean false Enable notifications for merge request events.
note_channel string false The name of the channel to receive note events notifications.
note_events boolean false Enable notifications for note events.
pipeline_channel string false The name of the channel to receive pipeline events notifications.
pipeline_events boolean false Enable notifications for pipeline events.
push_channel string false The name of the channel to receive push events notifications.
push_events boolean false Enable notifications for push events.
tag_push_channel string false The name of the channel to receive tag push events notifications.
tag_push_events boolean false Enable notifications for tag push events.
wiki_page_channel string false The name of the channel to receive wiki page events notifications.
wiki_page_events boolean false Enable notifications for wiki page events.

Disable the GitLab for Slack app

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

DELETE /projects/:id/integrations/slack

Get the GitLab for Slack app settings

Get the GitLab for Slack app settings for a project.

GET /projects/:id/integrations/slack

Microsoft Teams

Set up Microsoft Teams

Set up the Microsoft Teams integration for a project.

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

Parameters:

Parameter Type Required Description
webhook string true The Microsoft Teams webhook (for example, https://outlook.office.com/webhook/...).
notify_only_broken_pipelines boolean false Send notifications for broken pipelines.
notify_only_default_branch boolean false DEPRECATED: This parameter has been replaced with branches_to_be_notified.
branches_to_be_notified string false Branches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_events boolean false Enable notifications for push events.
issues_events boolean false Enable notifications for issue events.
confidential_issues_events boolean false Enable notifications for confidential issue events.
merge_requests_events boolean false Enable notifications for merge request events.
tag_push_events boolean false Enable notifications for tag push events.
note_events boolean false Enable notifications for note events.
confidential_note_events boolean false Enable notifications for confidential note events.
pipeline_events boolean false Enable notifications for pipeline events.
wiki_page_events boolean false Enable notifications for wiki page events.

Disable Microsoft Teams

Disable the Microsoft Teams integration for a project. Integration settings are reset.

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

Get Microsoft Teams settings

Get the Microsoft Teams integration settings for a project.

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

Mattermost notifications

Set up Mattermost notifications

Set up Mattermost notifications for a project.

PUT /projects/:id/integrations/mattermost

Parameters:

Parameter Type Required Description
webhook string true The Mattermost webhook (for example, http://mattermost_host/hooks/...).
username string false username.
channel string false Default channel to use if others are not configured.
notify_only_broken_pipelines boolean false Send notifications for broken pipelines.
notify_only_default_branch boolean false DEPRECATED: This parameter has been replaced with branches_to_be_notified.
branches_to_be_notified string false Branches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_events boolean false Enable notifications for push events.
issues_events boolean false Enable notifications for issue events.
confidential_issues_events boolean false Enable notifications for confidential issue events.
merge_requests_events boolean false Enable notifications for merge request events.
tag_push_events boolean false Enable notifications for tag push events.
note_events boolean false Enable notifications for note events.
confidential_note_events boolean false Enable notifications for confidential note events.
pipeline_events boolean false Enable notifications for pipeline events.
wiki_page_events boolean false Enable notifications for wiki page events.
push_channel string false The name of the channel to receive push events notifications.
issue_channel string false The name of the channel to receive issues events notifications.
confidential_issue_channel string false The name of the channel to receive confidential issues events notifications.
merge_request_channel string false The name of the channel to receive merge request events notifications.
note_channel string false The name of the channel to receive note events notifications.
confidential_note_channel string false The name of the channel to receive confidential note events notifications.
tag_push_channel string false The name of the channel to receive tag push events notifications.
pipeline_channel string false The name of the channel to receive pipeline events notifications.
wiki_page_channel string false The name of the channel to receive wiki page events notifications.

Disable Mattermost notifications

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

DELETE /projects/:id/integrations/mattermost

Get Mattermost notifications settings

Get the Mattermost notifications settings for a project.

GET /projects/:id/integrations/mattermost

JetBrains TeamCity

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%. Configure monitoring of all branches so merge requests build. This setting is in the VCS root advanced settings.

PUT /projects/:id/integrations/teamcity

Parameters:

Parameter Type Required Description
teamcity_url string true TeamCity root URL (for example, https://teamcity.example.com).
enable_ssl_verification boolean false Enable SSL verification. Defaults to true (enabled).
build_type string true Build configuration ID.
username string true A user with permissions to trigger a manual build.
password string true The password of the user.
push_events boolean false Enable notifications for push events.
merge_requests_events boolean false Enable notifications for merge request events.

Disable JetBrains TeamCity

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

DELETE /projects/:id/integrations/teamcity

Get JetBrains TeamCity settings

Get the JetBrains TeamCity integration settings for a project.

GET /projects/:id/integrations/teamcity

Jenkins

Set up Jenkins

Set up the Jenkins integration for a project.

PUT /projects/:id/integrations/jenkins

Parameters:

Parameter Type Required Description
jenkins_url string true Jenkins URL like http://jenkins.example.com.
enable_ssl_verification boolean false Enable SSL verification. Defaults to true (enabled).
project_name string true The URL-friendly project name. Example: my_project_name.
username string false Username for authentication with the Jenkins server, if authentication is required by the server.
password string false Password for authentication with the Jenkins server, if authentication is required by the server.
push_events boolean false Enable notifications for push events.
merge_requests_events boolean false Enable notifications for merge request events.
tag_push_events boolean false Enable notifications for tag push events.

Disable Jenkins

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

DELETE /projects/:id/integrations/jenkins

Get Jenkins settings

Get the Jenkins integration settings for a project.

GET /projects/:id/integrations/jenkins

Mock CI

This integration is only available when your environment is set to development. See gitlab-org/gitlab-mock-ci-service for an example of a companion mock integration.

Set up Mock CI

Set up the Mock CI integration for a project.

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

Parameters:

Parameter Type Required Description
mock_service_url string true http://localhost:4004.
enable_ssl_verification boolean false Enable SSL verification. Defaults to true (enabled).

Disable Mock CI

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

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

Get Mock CI settings

Get the Mock CI integration settings for a project.

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

Squash TM

Introduced in GitLab 15.10.

Set up Squash TM

Set up the Squash TM integration settings for a project.

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

Parameters:

Parameter Type Required Description
url string yes URL of the Squash TM webhook.
token string no Optional token

Disable Squash TM

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

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

Get Squash TM settings

Get the Squash TM integration settings for a project.

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

YouTrack

Set up YouTrack

Set up the YouTrack integration for a project.

PUT /projects/:id/integrations/youtrack

Parameters:

Parameter Type Required Description
issues_url string true Issue URL.
project_url string true Project URL.

Disable YouTrack

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

DELETE /projects/:id/integrations/youtrack

Get YouTrack settings

Get the YouTrack integration settings for a project.

GET /projects/:id/integrations/youtrack