Integrations API (FREE)

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

Introduced in GitLab 12.7.

Get a list of all active project integrations.

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,
    "confidential_issues_events": true,
    "merge_requests_events": true,
    "tag_push_events": false,
    "note_events": true,
    "confidential_note_events": true,
    "pipeline_events": true,
    "wiki_page_events": true,
    "job_events": true,
    "comment_on_event_enabled": 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,
    "confidential_issues_events": true,
    "merge_requests_events": true,
    "tag_push_events": true,
    "note_events": true,
    "confidential_note_events": true,
    "pipeline_events": true,
    "wiki_page_events": true,
    "job_events": true,
    "comment_on_event_enabled": true
  }
]

Asana

Add commit messages as comments to Asana tasks.

See also the Asana integration documentation.

Create/Edit Asana integration

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

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

DELETE /projects/:id/integrations/asana

Get Asana integration settings

Get Asana integration settings for a project.

GET /projects/:id/integrations/asana

Assembla

Project Management Software (Source Commits Endpoint)

Create/Edit Assembla integration

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

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

DELETE /projects/:id/integrations/assembla

Get Assembla integration settings

Get Assembla integration settings for a project.

GET /projects/:id/integrations/assembla

Atlassian Bamboo CI

A continuous integration and build server

Create/Edit Atlassian Bamboo CI integration

Set Atlassian Bamboo CI integration for a project.

You must set up 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 CI integration

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

DELETE /projects/:id/integrations/bamboo

Get Atlassian Bamboo CI integration settings

Get Atlassian Bamboo CI integration settings for a project.

GET /projects/:id/integrations/bamboo

Bugzilla

Bugzilla Issue Tracker

Create/Edit Bugzilla integration

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

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

DELETE /projects/:id/integrations/bugzilla

Get Bugzilla integration settings

Get Bugzilla integration settings for a project.

GET /projects/:id/integrations/bugzilla

Buildkite

Continuous integration and deployments

Create/Edit Buildkite integration

Set 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 since 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 integration

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

DELETE /projects/:id/integrations/buildkite

Get Buildkite integration settings

Get Buildkite integration settings for a project.

GET /projects/:id/integrations/buildkite

Campfire

Send notifications about push events to Campfire chat rooms. New users can no longer sign up for Campfire.

Create/Edit Campfire integration

Set Campfire integration for a project.

PUT /projects/:id/integrations/campfire

Parameters:

Parameter Type Required Description
token string true Campfire API token. To find it, log into 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 integration

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

DELETE /projects/:id/integrations/campfire

Get Campfire integration settings

Get Campfire integration settings for a project.

GET /projects/:id/integrations/campfire

Datadog

Datadog system monitoring.

Create/Edit Datadog integration

Set 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.)

Disable Datadog integration

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

DELETE /projects/:id/integrations/datadog

Get Datadog integration settings

Get Datadog integration settings for a project.

GET /projects/:id/integrations/datadog

Unify Circuit

Unify Circuit RTC and collaboration tool.

Create/Edit Unify Circuit integration

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

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

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

Get Unify Circuit integration settings

Get Unify Circuit integration settings for a project.

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

Webex Teams

Webex Teams collaboration tool.

Create/Edit Webex Teams integration

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

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

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

Get Webex Teams integration settings

Get Webex Teams integration settings for a project.

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

Custom Issue Tracker

Custom issue tracker

Create/Edit Custom Issue Tracker integration

Set Custom Issue Tracker integration 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 Custom Issue Tracker integration

Disable the Custom Issue Tracker integration for a project. Integration settings are preserved.

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

Get Custom Issue Tracker integration settings

Get Custom Issue Tracker integration settings for a project.

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

Discord

Send notifications about project events to a Discord channel.

Create/Edit Discord integration

Set Discord 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/…

Disable Discord integration

Disable the Discord integration for a project. Integration settings are preserved.

DELETE /projects/:id/integrations/discord

Get Discord integration settings

Get Discord integration settings for a project.

GET /projects/:id/integrations/discord

Drone CI

Drone is a Continuous Integration platform built on Docker, written in Go

Create/Edit Drone CI integration

Set Drone CI 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 CI integration

Disable the Drone CI integration for a project. Integration settings are preserved.

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

Get Drone CI integration settings

Get Drone CI integration settings for a project.

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

Emails on Push

Email the commits and diff of each push to a list of recipients.

Create/Edit Emails on Push integration

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

Disable the Emails on Push integration for a project. Integration settings are preserved.

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

Get Emails on Push integration settings

Get Emails on Push integration settings for a project.

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

Engineering Workflow Management (EWM)

Use IBM Engineering Workflow Management (EWM) as a project's issue tracker.

Create/Edit EWM integration

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

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

DELETE /projects/:id/integrations/ewm

Get EWM integration settings

Get EWM integration settings for a project.

GET /projects/:id/integrations/ewm

Confluence integration

Introduced in GitLab 13.2.

Replaces the link to the internal wiki with a link to a Confluence Cloud Workspace.

Create/Edit Confluence integration

Set Confluence 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 integration

Disable the Confluence integration for a project. Integration settings are preserved.

DELETE /projects/:id/integrations/confluence

Get Confluence integration settings

Get Confluence integration settings for a project.

GET /projects/:id/integrations/confluence

External wiki

Replaces the link to the internal wiki with a link to an external wiki.

Create/Edit External wiki integration

Set External wiki integration 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 External wiki integration

Disable the External wiki integration for a project. Integration settings are preserved.

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

Get External wiki integration settings

Get External wiki integration settings for a project.

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

Flowdock

Flowdock is a ChatOps application for collaboration in software engineering companies. You can send notifications from GitLab events to Flowdock flows. For integration instructions, see the Flowdock documentation.

Create/Edit Flowdock integration

Set Flowdock integration for a project.

PUT /projects/:id/integrations/flowdock

Parameters:

Parameter Type Required Description
token string true Flowdock Git source token

Disable Flowdock integration

Disable the Flowdock integration for a project. Integration settings are preserved.

DELETE /projects/:id/integrations/flowdock

Get Flowdock integration settings

Get Flowdock integration settings for a project.

GET /projects/:id/integrations/flowdock

GitHub (PREMIUM)

Code collaboration software.

Create/Edit GitHub integration

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

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

DELETE /projects/:id/integrations/github

Get GitHub integration settings

Get GitHub integration settings for a project.

GET /projects/:id/integrations/github

Hangouts Chat

Google Workspace team collaboration tool.

Create/Edit Hangouts Chat integration

Set Hangouts 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 Hangouts Chat integration

Disable the Hangouts Chat integration for a project. Integration settings are preserved.

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

Get Hangouts Chat integration settings

Get Hangouts Chat integration settings for a project.

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

Irker (IRC gateway)

Send IRC messages, on update, to a list of recipients through an irker gateway.

For more information, see the irker integration documentation.

Create/Edit Irker (IRC gateway) integration

Set Irker (IRC gateway) 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 (IRC gateway) integration

Disable the Irker (IRC gateway) integration for a project. Integration settings are preserved.

DELETE /projects/:id/integrations/irker

Get Irker (IRC gateway) integration settings

Get Irker (IRC gateway) integration settings for a project.

GET /projects/:id/integrations/irker

Jira

Jira issue tracker.

Get Jira integration settings

Get Jira integration settings for a project.

GET /projects/:id/integrations/jira

Create/Edit Jira integration

Set 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 yes The username of the user created to be used with GitLab/Jira.
password string yes The password of the user created to be used with GitLab/Jira.
active boolean no Activates or deactivates the integration. Defaults to false (deactivated).
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 integration

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

DELETE /projects/:id/integrations/jira

Slack Slash Commands

Ability to receive slash commands from a Slack chat instance.

Get Slack Slash Command integration settings

Get Slack Slash Command integration 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>"
  }
}

Create/Edit Slack Slash Commands integration

Set Slack Slash Command for a project.

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

Parameters:

Parameter Type Required Description
token string yes The Slack token

Disable Slack Slash Command integration

Disable the Slack Slash Command integration for a project. Integration settings are preserved.

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

Mattermost Slash Commands

Ability to receive slash commands from a Mattermost chat instance.

Get Mattermost Slash Command integration settings

Get Mattermost Slash Command integration settings for a project.

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

Create/Edit Mattermost Slash Command integration

Set Mattermost Slash Command for a project.

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

Parameters:

Parameter Type Required Description
token string yes The Mattermost token
username string no The username to use to post the message

Disable Mattermost Slash Command integration

Disable the Mattermost Slash Command integration for a project. Integration settings are preserved.

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

Packagist

Update your project on Packagist (the main Composer repository) when commits or tags are pushed to GitLab.

Create/Edit Packagist integration

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

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

DELETE /projects/:id/integrations/packagist

Get Packagist integration settings

Get Packagist integration settings for a project.

GET /projects/:id/integrations/packagist

Pipeline-Emails

Get emails for GitLab CI/CD pipelines.

Create/Edit Pipeline-Emails integration

Set Pipeline-Emails integration 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 (introduced in GitLab 12.0)
pipeline_events boolean false Enable notifications for pipeline events

Disable Pipeline-Emails integration

Disable the Pipeline-Emails integration for a project. Integration settings are preserved.

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

Get Pipeline-Emails integration settings

Get Pipeline-Emails integration settings for a project.

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

Pivotal Tracker

Add commit messages as comments to Pivotal Tracker stories.

See also the Pivotal Tracker integration documentation.

Create/Edit Pivotal Tracker integration

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

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

DELETE /projects/:id/integrations/pivotaltracker

Get Pivotal Tracker integration settings

Get Pivotal Tracker integration settings for a project.

GET /projects/:id/integrations/pivotaltracker

Prometheus

Prometheus is a powerful time-series monitoring service.

Create/Edit Prometheus integration

Set Prometheus integration for a project.

PUT /projects/:id/integrations/prometheus

Parameters:

Parameter Type Required Description
api_url string true Prometheus API Base URL. For example, http://prometheus.example.com/.
google_iap_audience_client_id string false Client ID of the IAP secured resource (looks like IAP_CLIENT_ID.apps.googleusercontent.com)
google_iap_service_account_json string false credentials.json file for your service account, like { "type": "service_account", "project_id": ... }

Disable Prometheus integration

Disable the Prometheus integration for a project. Integration settings are preserved.

DELETE /projects/:id/integrations/prometheus

Get Prometheus integration settings

Get Prometheus integration settings for a project.

GET /projects/:id/integrations/prometheus

Pushover

Pushover makes it easy to get real-time notifications on your Android device, iPhone, iPad, and Desktop.

Create/Edit Pushover integration

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

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

DELETE /projects/:id/integrations/pushover

Get Pushover integration settings

Get Pushover integration settings for a project.

GET /projects/:id/integrations/pushover

Redmine

Redmine issue tracker

Create/Edit Redmine integration

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

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

DELETE /projects/:id/integrations/redmine

Get Redmine integration settings

Get Redmine integration settings for a project.

GET /projects/:id/integrations/redmine

Slack notifications

Receive event notifications in Slack

Create/Edit Slack integration

Set Slack integration 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"
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
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 Slack integration

Disable the Slack integration for a project. Integration settings are preserved.

DELETE /projects/:id/integrations/slack

Get Slack integration settings

Get Slack integration settings for a project.

GET /projects/:id/integrations/slack

Microsoft Teams

Group Chat Software

Create/Edit Microsoft Teams integration

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

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

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

Get Microsoft Teams integration settings

Get Microsoft Teams integration settings for a project.

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

Mattermost notifications

Receive event notifications in Mattermost

Create/Edit Mattermost notifications integration

Set Mattermost notifications integration 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 integration

Disable the Mattermost notifications integration for a project. Integration settings are preserved.

DELETE /projects/:id/integrations/mattermost

Get Mattermost notifications integration settings

Get Mattermost notifications integration settings for a project.

GET /projects/:id/integrations/mattermost

JetBrains TeamCity CI

A continuous integration and build server

Create/Edit JetBrains TeamCity CI integration

Set JetBrains TeamCity CI integration for a project.

The build configuration in TeamCity must use the build format number %build.vcs.number%. Configure monitoring of all branches so merge requests build. That setting is in the VSC 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 CI integration

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

DELETE /projects/:id/integrations/teamcity

Get JetBrains TeamCity CI integration settings

Get JetBrains TeamCity CI integration settings for a project.

GET /projects/:id/integrations/teamcity

Jenkins CI

A continuous integration and build server

Create/Edit Jenkins CI integration

Set Jenkins CI 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 CI integration

Disable the Jenkins CI integration for a project. Integration settings are preserved.

DELETE /projects/:id/integrations/jenkins

Get Jenkins CI integration settings

Get Jenkins CI integration settings for a project.

GET /projects/:id/integrations/jenkins

Jenkins CI (Deprecated) integration

A continuous integration and build server

NOTE: This integration was removed in GitLab 13.0.

Create/Edit Jenkins CI (Deprecated) integration

Set Jenkins CI (Deprecated) integration for a project.

PUT /projects/:id/integrations/jenkins-deprecated

Parameters:

  • project_url (required) - Jenkins project URL like http://jenkins.example.com/job/my-project/
  • multiproject_enabled (optional) - Multi-project mode is configured in Jenkins GitLab Hook plugin
  • pass_unstable (optional) - Unstable builds are treated as passing

Disable Jenkins CI (Deprecated) integration

Disable the Jenkins CI (Deprecated) integration for a project. Integration settings are preserved.

DELETE /projects/:id/integrations/jenkins-deprecated

Get Jenkins CI (Deprecated) integration settings

Get Jenkins CI (Deprecated) integration settings for a project.

GET /projects/:id/integrations/jenkins-deprecated

MockCI

Mock an external CI. See gitlab-org/gitlab-mock-ci-service for an example of a companion mock integration.

This integration is only available when your environment is set to development.

Create/Edit MockCI integration

Set MockCI 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 MockCI integration

Disable the MockCI integration for a project. Integration settings are preserved.

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

Get MockCI integration settings

Get MockCI integration settings for a project.

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

YouTrack

YouTrack issue tracker

Create/Edit YouTrack integration

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

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

DELETE /projects/:id/integrations/youtrack

Get YouTrack integration settings

Get YouTrack integration settings for a project.

GET /projects/:id/integrations/youtrack