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

Set up Apple App Store

Set up the Apple App Store integration for a project.

PUT /projects/:id/integrations/apple_app_store

Parameters:

ParameterTypeRequiredDescription
app_store_issuer_idstringtrueThe Apple App Store Connect Issuer ID.
app_store_key_idstringtrueThe Apple App Store Connect Key ID.
app_store_private_keystringtrueThe Apple App Store Connect Private Key.
app_store_protected_refsbooleanfalseSet 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:

ParameterTypeRequiredDescription
api_keystringtrueUser API token. User must have access to task. All comments are attributed to this user.
restrict_to_branchstringfalseComma-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:

ParameterTypeRequiredDescription
tokenstringtrueThe authentication token.
subdomainstringfalseThe 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:

ParameterTypeRequiredDescription
bamboo_urlstringtrueBamboo root URL (for example, https://bamboo.example.com).
enable_ssl_verificationbooleanfalseEnable SSL verification. Defaults to true (enabled).
build_keystringtrueBamboo build plan key like KEY.
usernamestringtrueA user with API access, if applicable.
passwordstringtruePassword 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:

ParameterTypeRequiredDescription
new_issue_urlstringtrueNew issue URL.
issues_urlstringtrueIssue URL.
project_urlstringtrueProject 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:

ParameterTypeRequiredDescription
tokenstringtrueBuildkite project GitLab token.
project_urlstringtruePipeline URL (for example, https://buildkite.com/example/pipeline).
enable_ssl_verificationbooleanfalse Deprecated: This parameter has no effect because SSL verification is always enabled.
push_eventsbooleanfalseEnable notifications for push events.
merge_requests_eventsbooleanfalseEnable notifications for merge request events.
tag_push_eventsbooleanfalseEnable 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:

ParameterTypeRequiredDescription
tokenstringtrueCampfire API token. To find it, sign in to Campfire and select My info.
subdomainstringfalseCampfire subdomain. Text between https:// and .campfirenow.com when you’re logged in.
roomstringfalseCampfire 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:

ParameterTypeRequiredDescription
issues_urlstringtrueIssue URL.
project_urlstringtrueProject 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:

ParameterTypeRequiredDescription
confluence_urlstringtrueThe 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:

ParameterTypeRequiredDescription
new_issue_urlstringtrueNew issue URL.
issues_urlstringtrueIssue URL.
project_urlstringtrueProject 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:

ParameterTypeRequiredDescription
api_keystringtrueAPI key used for authentication with Datadog.
api_urlstringfalse(Advanced) The full URL for your Datadog site.
datadog_envstringfalseFor self-managed deployments, set the env% tag for all the data sent to Datadog.
datadog_servicestringfalseTag all data from this GitLab instance in Datadog. Can be used when managing several self-managed deployments.
datadog_sitestringfalseThe Datadog site to send data to. To send data to the EU site, use datadoghq.eu.
datadog_tagsstringfalseCustom tags in Datadog. Specify one tag per line in the format key:value\nkey2:value2 (introduced in GitLab 14.8.).
archive_trace_eventsbooleanfalseWhen 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:

ParameterTypeRequiredDescription
webhookstringtrueDiscord webhook (for example, https://discord.com/api/webhooks/…).
branches_to_be_notifiedstringfalseBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
confidential_issues_eventsbooleanfalseEnable notifications for confidential issue events.
confidential_issue_channelstringfalseThe webhook override to receive notifications for confidential issue events.
confidential_note_eventsbooleanfalseEnable notifications for confidential note events.
confidential_note_channelstringfalseThe webhook override to receive notifications for confidential note events.
deployment_eventsbooleanfalseEnable notifications for deployment events.
deployment_channelstringfalseThe webhook override to receive notifications for deployment events.
group_confidential_mentions_eventsbooleanfalseEnable notifications for group confidential mention events.
group_confidential_mentions_channelstringfalseThe webhook override to receive notifications for group confidential mention events.
group_mentions_eventsbooleanfalseEnable notifications for group mention events.
group_mentions_channelstringfalseThe webhook override to receive notifications for group mention events.
issues_eventsbooleanfalseEnable notifications for issue events.
issue_channelstringfalseThe webhook override to receive notifications for issue events.
merge_requests_eventsbooleanfalseEnable notifications for merge request events.
merge_request_channelstringfalseThe webhook override to receive notifications for merge request events.
note_eventsbooleanfalseEnable notifications for note events.
note_channelstringfalseThe webhook override to receive notifications for note events.
notify_only_broken_pipelinesbooleanfalseSend notifications for broken pipelines.
pipeline_eventsbooleanfalseEnable notifications for pipeline events.
pipeline_channelstringfalseThe webhook override to receive notifications for pipeline events.
push_eventsbooleanfalseEnable notifications for push events.
push_channelstringfalseThe webhook override to receive notifications for push events.
tag_push_eventsbooleanfalseEnable notifications for tag push events.
tag_push_channelstringfalseThe webhook override to receive notifications for tag push events.
wiki_page_eventsbooleanfalseEnable notifications for wiki page events.
wiki_page_channelstringfalseThe 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:

ParameterTypeRequiredDescription
tokenstringtrueDrone CI project specific token.
drone_urlstringtrue http://drone.example.com.
enable_ssl_verificationbooleanfalseEnable SSL verification. Defaults to true (enabled).
push_eventsbooleanfalseEnable notifications for push events.
merge_requests_eventsbooleanfalseEnable notifications for merge request events.
tag_push_eventsbooleanfalseEnable 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:

ParameterTypeRequiredDescription
recipientsstringtrueEmails separated by whitespace.
disable_diffsbooleanfalseDisable code diffs.
send_from_committer_emailbooleanfalseSend from committer.
push_eventsbooleanfalseEnable notifications for push events.
tag_push_eventsbooleanfalseEnable notifications for tag push events.
branches_to_be_notifiedstringfalseBranches 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:

ParameterTypeRequiredDescription
new_issue_urlstringtrueThe URL to create an issue in EWM.
project_urlstringtrueThe URL to the project in EWM.
issues_urlstringtrueThe 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:

ParameterTypeRequiredDescription
external_wiki_urlstringtrueThe 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:

ParameterTypeRequiredDescription
tokenstringtrueGitHub API token with repo:status OAuth scope.
repository_urlstringtrueGitHub repository URL.
static_contextbooleanfalseAppend 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

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:

ParameterTypeRequiredDescription
webhookstringtrue https://hooks.slack.com/services/....
usernamestringfalseusername.
channelstringfalseDefault channel to use if others are not configured.
notify_only_broken_pipelinesbooleanfalseSend notifications for broken pipelines.
notify_only_default_branchbooleanfalse Deprecated: This parameter has been replaced with branches_to_be_notified.
branches_to_be_notifiedstringfalseBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
alert_channelstringfalseThe name of the channel to receive notifications for alert events.
alert_eventsbooleanfalseEnable notifications for alert events.
commit_eventsbooleanfalseEnable notifications for commit events.
confidential_issue_channelstringfalseThe name of the channel to receive notifications for confidential issue events.
confidential_issues_eventsbooleanfalseEnable notifications for confidential issue events.
confidential_note_channelstringfalseThe name of the channel to receive notifications for confidential note events.
confidential_note_eventsbooleanfalseEnable notifications for confidential note events.
deployment_channelstringfalseThe name of the channel to receive notifications for deployment events.
deployment_eventsbooleanfalseEnable notifications for deployment events.
incident_channelstringfalseThe name of the channel to receive notifications for incident events.
incidents_eventsbooleanfalseEnable notifications for incident events.
issue_channelstringfalseThe name of the channel to receive notifications for issue events.
issues_eventsbooleanfalseEnable notifications for issue events.
job_eventsbooleanfalseEnable notifications for job events.
merge_request_channelstringfalseThe name of the channel to receive notifications for merge request events.
merge_requests_eventsbooleanfalseEnable notifications for merge request events.
note_channelstringfalseThe name of the channel to receive notifications for note events.
note_eventsbooleanfalseEnable notifications for note events.
pipeline_channelstringfalseThe name of the channel to receive notifications for pipeline events.
pipeline_eventsbooleanfalseEnable notifications for pipeline events.
push_channelstringfalseThe name of the channel to receive notifications for push events.
push_eventsbooleanfalseEnable notifications for push events.
tag_push_channelstringfalseThe name of the channel to receive notifications for tag push events.
tag_push_eventsbooleanfalseEnable notifications for tag push events.
wiki_page_channelstringfalseThe name of the channel to receive notifications for wiki page events.
wiki_page_eventsbooleanfalseEnable 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:

ParameterTypeRequiredDescription
webhookstringtrueThe Hangouts Chat webhook (for example, https://chat.googleapis.com/v1/spaces...).
notify_only_broken_pipelinesbooleanfalseSend notifications for broken pipelines.
notify_only_default_branchbooleanfalse Deprecated: This parameter has been replaced with branches_to_be_notified.
branches_to_be_notifiedstringfalseBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_eventsbooleanfalseEnable notifications for push events.
issues_eventsbooleanfalseEnable notifications for issue events.
confidential_issues_eventsbooleanfalseEnable notifications for confidential issue events.
merge_requests_eventsbooleanfalseEnable notifications for merge request events.
tag_push_eventsbooleanfalseEnable notifications for tag push events.
note_eventsbooleanfalseEnable notifications for note events.
confidential_note_eventsbooleanfalseEnable notifications for confidential note events.
pipeline_eventsbooleanfalseEnable notifications for pipeline events.
wiki_page_eventsbooleanfalseEnable 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:

ParameterTypeRequiredDescription
recipientsstringtrueRecipients or channels separated by whitespaces.
default_irc_uristringfalse irc://irc.network.net:6697/.
server_hoststringfalselocalhost.
server_portintegerfalse6659.
colorize_messagesbooleanfalseColorize 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:

ParameterTypeRequiredDescription
jenkins_urlstringtrueJenkins URL like http://jenkins.example.com.
enable_ssl_verificationbooleanfalseEnable SSL verification. Defaults to true (enabled).
project_namestringtrueThe URL-friendly project name. Example: my_project_name.
usernamestringfalseUsername for authentication with the Jenkins server, if authentication is required by the server.
passwordstringfalsePassword for authentication with the Jenkins server, if authentication is required by the server.
push_eventsbooleanfalseEnable notifications for push events.
merge_requests_eventsbooleanfalseEnable notifications for merge request events.
tag_push_eventsbooleanfalseEnable 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:

ParameterTypeRequiredDescription
teamcity_urlstringtrueTeamCity root URL (for example, https://teamcity.example.com).
enable_ssl_verificationbooleanfalseEnable SSL verification. Defaults to true (enabled).
build_typestringtrueBuild configuration ID.
usernamestringtrueA user with permissions to trigger a manual build.
passwordstringtrueThe password of the user.
push_eventsbooleanfalseEnable notifications for push events.
merge_requests_eventsbooleanfalseEnable 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:

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 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).
passwordstringyesThe 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.
activebooleannoActivates or deactivates the integration. Defaults to false (deactivated).
jira_auth_typeintegernoThe authentication method to be used with Jira. 0 means Basic Authentication. 1 means 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 if jira_issue_transition_automatic is enabled. Defaults to a blank string, which disables custom transitions.
commit_eventsbooleanfalseEnable notifications for commit events.
merge_requests_eventsbooleanfalseEnable notifications for merge request events.
comment_on_event_enabledbooleanfalseEnable 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:

ParameterTypeRequiredDescription
webhookstringtrueThe Mattermost webhook (for example, http://mattermost_host/hooks/...).
usernamestringfalseusername.
channelstringfalseDefault channel to use if others are not configured.
notify_only_broken_pipelinesbooleanfalseSend notifications for broken pipelines.
notify_only_default_branchbooleanfalse Deprecated: This parameter has been replaced with branches_to_be_notified.
branches_to_be_notifiedstringfalseBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_eventsbooleanfalseEnable notifications for push events.
issues_eventsbooleanfalseEnable notifications for issue events.
confidential_issues_eventsbooleanfalseEnable notifications for confidential issue events.
merge_requests_eventsbooleanfalseEnable notifications for merge request events.
tag_push_eventsbooleanfalseEnable notifications for tag push events.
note_eventsbooleanfalseEnable notifications for note events.
confidential_note_eventsbooleanfalseEnable notifications for confidential note events.
pipeline_eventsbooleanfalseEnable notifications for pipeline events.
wiki_page_eventsbooleanfalseEnable notifications for wiki page events.
push_channelstringfalseThe name of the channel to receive notifications for push events.
issue_channelstringfalseThe name of the channel to receive notifications for issue events.
confidential_issue_channelstringfalseThe name of the channel to receive notifications for confidential issue events.
merge_request_channelstringfalseThe name of the channel to receive notifications for merge request events.
note_channelstringfalseThe name of the channel to receive notifications for note events.
confidential_note_channelstringfalseThe name of the channel to receive notifications for confidential note events.
tag_push_channelstringfalseThe name of the channel to receive notifications for tag push events.
pipeline_channelstringfalseThe name of the channel to receive notifications for pipeline events.
wiki_page_channelstringfalseThe 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:

ParameterTypeRequiredDescription
tokenstringyesThe 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:

ParameterTypeRequiredDescription
webhookstringtrueThe Microsoft Teams webhook (for example, https://outlook.office.com/webhook/...).
notify_only_broken_pipelinesbooleanfalseSend notifications for broken pipelines.
notify_only_default_branchbooleanfalse Deprecated: This parameter has been replaced with branches_to_be_notified.
branches_to_be_notifiedstringfalseBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_eventsbooleanfalseEnable notifications for push events.
issues_eventsbooleanfalseEnable notifications for issue events.
confidential_issues_eventsbooleanfalseEnable notifications for confidential issue events.
merge_requests_eventsbooleanfalseEnable notifications for merge request events.
tag_push_eventsbooleanfalseEnable notifications for tag push events.
note_eventsbooleanfalseEnable notifications for note events.
confidential_note_eventsbooleanfalseEnable notifications for confidential note events.
pipeline_eventsbooleanfalseEnable notifications for pipeline events.
wiki_page_eventsbooleanfalseEnable 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:

ParameterTypeRequiredDescription
mock_service_urlstringtrue http://localhost:4004.
enable_ssl_verificationbooleanfalseEnable 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:

ParameterTypeRequiredDescription
usernamestringyesThe username of a Packagist account.
tokenstringyesAPI token to the Packagist server.
serverbooleannoURL of the Packagist server. Leave blank for the default <https://packagist.org>.
push_eventsbooleanfalseEnable notifications for push events.
merge_requests_eventsbooleanfalseEnable notifications for merge request events.
tag_push_eventsbooleanfalseEnable 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:

ParameterTypeRequiredDescription
recipientsstringyesComma-separated list of recipient email addresses.
notify_only_broken_pipelinesbooleannoSend notifications for broken pipelines.
branches_to_be_notifiedstringfalseBranches 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_eventsbooleanfalseEnable 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:

ParameterTypeRequiredDescription
tokenstringtrueThe Pivotal Tracker token.
restrict_to_branchbooleanfalseComma-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:

ParameterTypeRequiredDescription
webhookstringtrueThe Pumble webhook (for example, https://api.pumble.com/workspaces/x/...).
branches_to_be_notifiedstringfalseBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default is default.
confidential_issues_eventsbooleanfalseEnable notifications for confidential issue events.
confidential_note_eventsbooleanfalseEnable notifications for confidential note events.
issues_eventsbooleanfalseEnable notifications for issue events.
merge_requests_eventsbooleanfalseEnable notifications for merge request events.
note_eventsbooleanfalseEnable notifications for note events.
notify_only_broken_pipelinesbooleanfalseSend notifications for broken pipelines.
pipeline_eventsbooleanfalseEnable notifications for pipeline events.
push_eventsbooleanfalseEnable notifications for push events.
tag_push_eventsbooleanfalseEnable notifications for tag push events.
wiki_page_eventsbooleanfalseEnable 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:

ParameterTypeRequiredDescription
api_keystringtrueYour application key.
user_keystringtrueYour user key.
prioritystringtrueThe priority.
devicestringfalseLeave blank for all active devices.
soundstringfalseThe 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:

ParameterTypeRequiredDescription
new_issue_urlstringtrueNew issue URL.
project_urlstringtrueProject URL.
issues_urlstringtrueIssue 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:

ParameterTypeRequiredDescription
tokenstringyesThe 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:

ParameterTypeRequiredDescription
urlstringyesURL of the Squash TM webhook.
tokenstringnoOptional 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:

ParameterTypeRequiredDescription
tokenstringtrueThe Telegram bot token (for example, 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11).
roomstringtrueUnique identifier for the target chat or the username of the target channel (in the format @channelusername).
notify_only_broken_pipelinesbooleanfalseSend notifications for broken pipelines.
branches_to_be_notifiedstringfalseBranches 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_eventsbooleantrueEnable notifications for push events.
issues_eventsbooleantrueEnable notifications for issue events.
confidential_issues_eventsbooleantrueEnable notifications for confidential issue events.
merge_requests_eventsbooleantrueEnable notifications for merge request events.
tag_push_eventsbooleantrueEnable notifications for tag push events.
note_eventsbooleantrueEnable notifications for note events.
confidential_note_eventsbooleantrueEnable notifications for confidential note events.
pipeline_eventsbooleantrueEnable notifications for pipeline events.
wiki_page_eventsbooleantrueEnable 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:

ParameterTypeRequiredDescription
webhookstringtrueThe Unify Circuit webhook (for example, https://circuit.com/rest/v2/webhooks/incoming/...).
notify_only_broken_pipelinesbooleanfalseSend notifications for broken pipelines.
branches_to_be_notifiedstringfalseBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_eventsbooleanfalseEnable notifications for push events.
issues_eventsbooleanfalseEnable notifications for issue events.
confidential_issues_eventsbooleanfalseEnable notifications for confidential issue events.
merge_requests_eventsbooleanfalseEnable notifications for merge request events.
tag_push_eventsbooleanfalseEnable notifications for tag push events.
note_eventsbooleanfalseEnable notifications for note events.
confidential_note_eventsbooleanfalseEnable notifications for confidential note events.
pipeline_eventsbooleanfalseEnable notifications for pipeline events.
wiki_page_eventsbooleanfalseEnable 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:

ParameterTypeRequiredDescription
webhookstringtrueThe Webex Teams webhook (for example, https://api.ciscospark.com/v1/webhooks/incoming/...).
notify_only_broken_pipelinesbooleanfalseSend notifications for broken pipelines.
branches_to_be_notifiedstringfalseBranches to send notifications for. Valid options are all, default, protected, and default_and_protected. The default value is default.
push_eventsbooleanfalseEnable notifications for push events.
issues_eventsbooleanfalseEnable notifications for issue events.
confidential_issues_eventsbooleanfalseEnable notifications for confidential issue events.
merge_requests_eventsbooleanfalseEnable notifications for merge request events.
tag_push_eventsbooleanfalseEnable notifications for tag push events.
note_eventsbooleanfalseEnable notifications for note events.
confidential_note_eventsbooleanfalseEnable notifications for confidential note events.
pipeline_eventsbooleanfalseEnable notifications for pipeline events.
wiki_page_eventsbooleanfalseEnable 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:

ParameterTypeRequiredDescription
issues_urlstringtrueIssue URL.
project_urlstringtrueProject 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