Integrations API

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 Connect

Set up Apple App Store Connect

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

PUT /projects/:id/integrations/apple_app_store

Parameters:

Parameter Type Required Description
app_store_issuer_id string true Apple App Store Connect issuer ID.
app_store_key_id string true Apple App Store Connect key ID.
app_store_private_key_file_name string true Apple App Store Connect private key file name.
app_store_private_key string true Apple App Store Connect private key.
app_store_protected_refs boolean false Set variables on protected branches and tags only.

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. The user must have access to the task. All comments are attributed to this user.
restrict_to_branch string false Comma-separated list of branches to be 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

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 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

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

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. Can be used 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

Discord Notifications

Set up Discord Notifications

_channel parameters introduced in GitLab 16.3.

Set up Discord Notifications 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 notifications for confidential issue events.
confidential_note_events boolean false Enable notifications for confidential note events.
confidential_note_channel string false The webhook override to receive notifications for confidential note events.
deployment_events boolean false Enable notifications for deployment events.
deployment_channel string false The webhook override to receive notifications for deployment events.
group_confidential_mentions_events boolean false Enable notifications for group confidential mention events.
group_confidential_mentions_channel string false The webhook override to receive notifications for group confidential mention events.
group_mentions_events boolean false Enable notifications for group mention events.
group_mentions_channel string false The webhook override to receive notifications for group mention events.
issues_events boolean false Enable notifications for issue events.
issue_channel string false The webhook override to receive notifications for issue events.
merge_requests_events boolean false Enable notifications for merge request events.
merge_request_channel string false The webhook override to receive notifications for merge request events.
note_events boolean false Enable notifications for note events.
note_channel string false The webhook override to receive notifications for note events.
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 notifications for pipeline events.
push_events boolean false Enable notifications for push events.
push_channel string false The webhook override to receive notifications for push events.
tag_push_events boolean false Enable notifications for tag push events.
tag_push_channel string false The webhook override to receive notifications for tag push events.
wiki_page_events boolean false Enable notifications for wiki page events.
wiki_page_channel string false The webhook override to receive notifications for wiki page events.

Disable Discord Notifications

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

DELETE /projects/:id/integrations/discord

Get Discord Notifications settings

Get the Discord Notifications 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

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

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 the hostname of your GitLab instance to the 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

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 notifications for alert events.
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 notifications for confidential issue events.
confidential_issues_events boolean false Enable notifications for confidential issue events.
confidential_note_channel string false The name of the channel to receive notifications for confidential note events.
confidential_note_events boolean false Enable notifications for confidential note events.
deployment_channel string false The name of the channel to receive notifications for deployment events.
deployment_events boolean false Enable notifications for deployment events.
incident_channel string false The name of the channel to receive notifications for incident events.
incidents_events boolean false Enable notifications for incident events.
issue_channel string false The name of the channel to receive notifications for issue events.
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 notifications for merge request events.
merge_requests_events boolean false Enable notifications for merge request events.
note_channel string false The name of the channel to receive notifications for note events.
note_events boolean false Enable notifications for note events.
pipeline_channel string false The name of the channel to receive notifications for pipeline events.
pipeline_events boolean false Enable notifications for pipeline events.
push_channel string false The name of the channel to receive notifications for push events.
push_events boolean false Enable notifications for push events.
tag_push_channel string false The name of the channel to receive notifications for tag push events.
tag_push_events boolean false Enable notifications for tag push events.
wiki_page_channel string false The name of the channel to receive notifications for wiki page events.
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

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 or 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

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

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%. In the advanced settings for VCS root, configure monitoring for all branches so merge requests can build.

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

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 in Jira issues on each GitLab event (commit or 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

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 notifications for push events.
issue_channel string false The name of the channel to receive notifications for issue events.
confidential_issue_channel string false The name of the channel to receive notifications for confidential issue events.
merge_request_channel string false The name of the channel to receive notifications for merge request events.
note_channel string false The name of the channel to receive notifications for note events.
confidential_note_channel string false The name of the channel to receive notifications for confidential note events.
tag_push_channel string false The name of the channel to receive notifications for tag push events.
pipeline_channel string false The name of the channel to receive notifications for pipeline events.
wiki_page_channel string false The name of the channel to receive notifications for wiki page events.

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

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

Microsoft Teams notifications

Set up Microsoft Teams notifications

Set up Microsoft Teams notifications 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 notifications

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

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

Get Microsoft Teams notifications settings

Get the Microsoft Teams notifications settings for a project.

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

Mock CI

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.

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

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 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.
notify_only_default_branch boolean no Send notifications 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

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

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

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>"
  }
}

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

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.
branches_to_be_notified string false Branches 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_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

Webex Teams

Set up Webex Teams

Set up Webex Teams 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 Webex Teams for a project. Integration settings are reset.

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

Get Webex Teams settings

Get the Webex Teams settings for a project.

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

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