diff options
Diffstat (limited to 'doc/api/integrations.md')
-rw-r--r-- | doc/api/integrations.md | 1459 |
1 files changed, 638 insertions, 821 deletions
diff --git a/doc/api/integrations.md b/doc/api/integrations.md index f8bfa1279d4..d3e8540f7b2 100644 --- a/doc/api/integrations.md +++ b/doc/api/integrations.md @@ -17,7 +17,7 @@ This API requires an access token with the Maintainer or Owner role. ## List all active integrations -> `vulnerability_events` field [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/131831) in GitLab 16.5. +> `vulnerability_events` field [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/131831) in GitLab 16.4. Get a list of all active project integrations. The `vulnerability_events` field is only available for GitLab Enterprise Edition. @@ -80,13 +80,9 @@ Example response: ## Apple App Store -Use GitLab to build and release an app in the Apple App Store. +### Set up Apple App Store -See also the [Apple App Store integration documentation](../user/project/integrations/apple_app_store.md). - -### Create/Edit Apple App Store integration - -Set Apple App Store integration for a project. +Set up the Apple App Store integration for a project. ```plaintext PUT /projects/:id/integrations/apple_app_store @@ -101,7 +97,7 @@ Parameters: | `app_store_private_key` | string | true | The Apple App Store Connect Private Key. | | `app_store_protected_refs` | boolean | false | Set variables only on protected branches and tags. Defaults to `true` (enabled). | -### Disable Apple App Store integration +### Disable Apple App Store Disable the Apple App Store integration for a project. Integration settings are reset. @@ -109,9 +105,9 @@ Disable the Apple App Store integration for a project. Integration settings are DELETE /projects/:id/integrations/apple_app_store ``` -### Get Apple App Store integration settings +### Get Apple App Store settings -Get Apple App Store integration settings for a project. +Get the Apple App Store integration settings for a project. ```plaintext GET /projects/:id/integrations/apple_app_store @@ -119,13 +115,9 @@ GET /projects/:id/integrations/apple_app_store ## Asana -Add commit messages as comments to Asana tasks. - -See also the [Asana integration documentation](../user/project/integrations/asana.md). - -### Create/Edit Asana integration +### Set up Asana -Set Asana integration for a project. +Set up the Asana integration for a project. ```plaintext PUT /projects/:id/integrations/asana @@ -138,7 +130,7 @@ Parameters: | `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 Asana Disable the Asana integration for a project. Integration settings are reset. @@ -146,9 +138,9 @@ Disable the Asana integration for a project. Integration settings are reset. DELETE /projects/:id/integrations/asana ``` -### Get Asana integration settings +### Get Asana settings -Get Asana integration settings for a project. +Get the Asana integration settings for a project. ```plaintext GET /projects/:id/integrations/asana @@ -156,11 +148,9 @@ GET /projects/:id/integrations/asana ## Assembla -Project Management Software (Source Commits Endpoint) +### Set up Assembla -### Create/Edit Assembla integration - -Set Assembla integration for a project. +Set up the Assembla integration for a project. ```plaintext PUT /projects/:id/integrations/assembla @@ -170,10 +160,10 @@ Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | -| `token` | string | true | The authentication token -| `subdomain` | string | false | The subdomain setting | +| `token` | string | true | The authentication token. | +| `subdomain` | string | false | The subdomain setting. | -### Disable Assembla integration +### Disable Assembla Disable the Assembla integration for a project. Integration settings are reset. @@ -181,23 +171,21 @@ Disable the Assembla integration for a project. Integration settings are reset. DELETE /projects/:id/integrations/assembla ``` -### Get Assembla integration settings +### Get Assembla settings -Get Assembla integration settings for a project. +Get the Assembla integration settings for a project. ```plaintext GET /projects/:id/integrations/assembla ``` -## Atlassian Bamboo CI - -A continuous integration and build server +## Atlassian Bamboo -### Create/Edit Atlassian Bamboo CI integration +### Set up Atlassian Bamboo -Set Atlassian Bamboo CI integration for a project. +Set up the Atlassian Bamboo integration for a project. -> You must set up automatic revision labeling and a repository trigger in Bamboo. +You must configure automatic revision labeling and a repository trigger in Bamboo. ```plaintext PUT /projects/:id/integrations/bamboo @@ -207,23 +195,23 @@ 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 | +| `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 Atlassian Bamboo -Disable the Atlassian Bamboo CI integration for a project. Integration settings are reset. +Disable the Atlassian Bamboo integration for a project. Integration settings are reset. ```plaintext DELETE /projects/:id/integrations/bamboo ``` -### Get Atlassian Bamboo CI integration settings +### Get Atlassian Bamboo settings -Get Atlassian Bamboo CI integration settings for a project. +Get the Atlassian Bamboo integration settings for a project. ```plaintext GET /projects/:id/integrations/bamboo @@ -231,11 +219,9 @@ GET /projects/:id/integrations/bamboo ## Bugzilla -Bugzilla Issue Tracker +### Set up Bugzilla -### Create/Edit Bugzilla integration - -Set Bugzilla integration for a project. +Set up the Bugzilla integration for a project. ```plaintext PUT /projects/:id/integrations/bugzilla @@ -245,11 +231,11 @@ 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 | +| `new_issue_url` | string | true | New issue URL. | +| `issues_url` | string | true | Issue URL. | +| `project_url` | string | true | Project URL. | -### Disable Bugzilla integration +### Disable Bugzilla Disable the Bugzilla integration for a project. Integration settings are reset. @@ -257,9 +243,9 @@ Disable the Bugzilla integration for a project. Integration settings are reset. DELETE /projects/:id/integrations/bugzilla ``` -### Get Bugzilla integration settings +### Get Bugzilla settings -Get Bugzilla integration settings for a project. +Get the Bugzilla integration settings for a project. ```plaintext GET /projects/:id/integrations/bugzilla @@ -267,11 +253,9 @@ GET /projects/:id/integrations/bugzilla ## Buildkite -Continuous integration and deployments - -### Create/Edit Buildkite integration +### Set up Buildkite -Set Buildkite integration for a project. +Set up the Buildkite integration for a project. ```plaintext PUT /projects/:id/integrations/buildkite @@ -281,14 +265,14 @@ 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 | +| `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 integration +### Disable Buildkite Disable the Buildkite integration for a project. Integration settings are reset. @@ -296,9 +280,9 @@ Disable the Buildkite integration for a project. Integration settings are reset. DELETE /projects/:id/integrations/buildkite ``` -### Get Buildkite integration settings +### Get Buildkite settings -Get Buildkite integration settings for a project. +Get the Buildkite integration settings for a project. ```plaintext GET /projects/:id/integrations/buildkite @@ -306,12 +290,9 @@ GET /projects/:id/integrations/buildkite ## Campfire -Send notifications about push events to Campfire chat rooms. -[New users can no longer sign up for Campfire](https://basecamp.com/handbook/05-product-histories#campfire). - -### Create/Edit Campfire integration +### Set up Campfire -Set Campfire integration for a project. +Set up the Campfire integration for a project. ```plaintext PUT /projects/:id/integrations/campfire @@ -321,11 +302,11 @@ 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. | +| `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 integration +### Disable Campfire Disable the Campfire integration for a project. Integration settings are reset. @@ -333,9 +314,9 @@ Disable the Campfire integration for a project. Integration settings are reset. DELETE /projects/:id/integrations/campfire ``` -### Get Campfire integration settings +### Get Campfire settings -Get Campfire integration settings for a project. +Get the Campfire integration settings for a project. ```plaintext GET /projects/:id/integrations/campfire @@ -345,11 +326,9 @@ GET /projects/:id/integrations/campfire > [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/120732) in GitLab 16.1. -ClickUp issue tracker. +### Set up ClickUp -### Create or edit ClickUp integration - -Set up ClickUp integration for a project. +Set up the ClickUp integration for a project. ```plaintext PUT /projects/:id/integrations/clickup @@ -357,12 +336,12 @@ PUT /projects/:id/integrations/clickup Parameters: -| Parameter | Type | Required | Description | -| --------- | ---- | -------- | ----------- | -| `issues_url` | string | true | Issue URL | -| `project_url` | string | true | Project URL | +| Parameter | Type | Required | Description | +| ------------- | ------ | -------- | -------------- | +| `issues_url` | string | true | Issue URL. | +| `project_url` | string | true | Project URL. | -### Disable ClickUp integration +### Disable ClickUp Disable the ClickUp integration for a project. Integration settings are reset. @@ -370,808 +349,791 @@ Disable the ClickUp integration for a project. Integration settings are reset. DELETE /projects/:id/integrations/clickup ``` -### Get ClickUp integration settings +### Get ClickUp settings -Get ClickUp integration settings for a project. +Get the ClickUp integration settings for a project. ```plaintext GET /projects/:id/integrations/clickup ``` -## Datadog +## Confluence Workspace -Datadog system monitoring. +### Set up Confluence Workspace -### Create/Edit Datadog integration - -Set Datadog integration for a project. +Set up the Confluence Workspace integration for a project. ```plaintext -PUT /projects/:id/integrations/datadog +PUT /projects/:id/integrations/confluence ``` 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](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79665) 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](https://gitlab.com/gitlab-org/gitlab/-/issues/346339) in GitLab 15.3) | +| Parameter | Type | Required | Description | +| --------- | ---- | -------- | ----------- | +| `confluence_url` | string | true | The URL of the Confluence Workspace hosted on `atlassian.net`. | -### Disable Datadog integration +### Disable Confluence Workspace -Disable the Datadog integration for a project. Integration settings are reset. +Disable the Confluence Workspace integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/datadog +DELETE /projects/:id/integrations/confluence ``` -### Get Datadog integration settings +### Get Confluence Workspace settings -Get Datadog integration settings for a project. +Get the Confluence Workspace integration settings for a project. ```plaintext -GET /projects/:id/integrations/datadog +GET /projects/:id/integrations/confluence ``` -## Telegram - -Telegram chat tool. +## Custom issue tracker -### Create/Edit Telegram integration +### Set up a custom issue tracker -Set the Telegram integration for a project. +Set up a custom issue tracker for a project. ```plaintext -PUT /projects/:id/integrations/telegram +PUT /projects/:id/integrations/custom-issue-tracker ``` Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | -| `token` | string | true | The Telegram bot token. For example, `123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11`. | -| `room` | string | true | Unique identifier for the target chat or the username of the target channel (in the format `@channelusername`) | -| `notify_only_broken_pipelines` | boolean | false | Send notifications for broken pipelines | -| `push_events` | boolean | true | Enable notifications for push events | -| `issues_events` | boolean | true | Enable notifications for issue events | -| `confidential_issues_events` | boolean | true | Enable notifications for confidential issue events | -| `merge_requests_events` | boolean | true | Enable notifications for merge request events | -| `tag_push_events` | boolean | true | Enable notifications for tag push events | -| `note_events` | boolean | true | Enable notifications for note events | -| `confidential_note_events` | boolean | true | Enable notifications for confidential note events | -| `pipeline_events` | boolean | true | Enable notifications for pipeline events | -| `wiki_page_events` | boolean | true | Enable notifications for wiki page events | - -### Disable Telegram integration +| `new_issue_url` | string | true | New issue URL. | +| `issues_url` | string | true | Issue URL. | +| `project_url` | string | true | Project URL. | -Disable the Telegram integration for a project. Integration settings are reset. +### Disable a custom issue tracker + +Disable a custom issue tracker for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/telegram +DELETE /projects/:id/integrations/custom-issue-tracker ``` -### Get Telegram integration settings +### Get custom issue tracker settings -Get Telegram integration settings for a project. +Get the custom issue tracker settings for a project. ```plaintext -GET /projects/:id/integrations/telegram +GET /projects/:id/integrations/custom-issue-tracker ``` -## Unify Circuit - -Unify Circuit RTC and collaboration tool. +## Datadog -### Create/Edit Unify Circuit integration +### Set up Datadog -Set Unify Circuit integration for a project. +Set up the Datadog integration for a project. ```plaintext -PUT /projects/:id/integrations/unify-circuit +PUT /projects/:id/integrations/datadog ``` 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 +| 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](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79665) 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](https://gitlab.com/gitlab-org/gitlab/-/issues/346339) in GitLab 15.3). | -Disable the Unify Circuit integration for a project. Integration settings are reset. +### Disable Datadog + +Disable the Datadog integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/unify-circuit +DELETE /projects/:id/integrations/datadog ``` -### Get Unify Circuit integration settings +### Get Datadog settings -Get Unify Circuit integration settings for a project. +Get the Datadog integration settings for a project. ```plaintext -GET /projects/:id/integrations/unify-circuit +GET /projects/:id/integrations/datadog ``` -## Pumble +## Discord Notifications -Pumble chat tool. +### Set up Discord Notifications -### Create/Edit Pumble integration +> `_channel` parameters [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125621) in GitLab 16.3. -Set Pumble integration for a project. +Set up Discord Notifications for a project. ```plaintext -PUT /projects/:id/integrations/pumble +PUT /projects/:id/integrations/discord ``` 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`. | +| `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 Pumble integration +### Disable Discord Notifications -Disable the Pumble integration for a project. Integration settings are reset. +Disable Discord Notifications for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/pumble +DELETE /projects/:id/integrations/discord ``` -### Get Pumble integration settings +### Get Discord Notifications settings -Get Pumble integration settings for a project. +Get the Discord Notifications settings for a project. ```plaintext -GET /projects/:id/integrations/pumble +GET /projects/:id/integrations/discord ``` -## Webex Teams - -Webex Teams collaboration tool. +## Drone -### Create/Edit Webex Teams integration +### Set up Drone -Set Webex Teams integration for a project. +Set up the Drone integration for a project. ```plaintext -PUT /projects/:id/integrations/webex-teams +PUT /projects/:id/integrations/drone-ci ``` 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 | +| `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 Webex Teams integration +### Disable Drone -Disable the Webex Teams integration for a project. Integration settings are reset. +Disable the Drone integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/webex-teams +DELETE /projects/:id/integrations/drone-ci ``` -### Get Webex Teams integration settings +### Get Drone settings -Get Webex Teams integration settings for a project. +Get the Drone integration settings for a project. ```plaintext -GET /projects/:id/integrations/webex-teams +GET /projects/:id/integrations/drone-ci ``` -## Custom Issue Tracker - -Custom issue tracker +## Emails on push -### Create/Edit Custom Issue Tracker integration +### Set up emails on push -Set Custom Issue Tracker integration for a project. +Set up the emails on push integration for a project. ```plaintext -PUT /projects/:id/integrations/custom-issue-tracker +PUT /projects/:id/integrations/emails-on-push ``` 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 | +| `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 Custom Issue Tracker integration +### Disable emails on push -Disable the Custom Issue Tracker integration for a project. Integration settings are reset. +Disable the emails on push integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/custom-issue-tracker +DELETE /projects/:id/integrations/emails-on-push ``` -### Get Custom Issue Tracker integration settings +### Get emails on push settings -Get Custom Issue Tracker integration settings for a project. +Get the emails on push integration settings for a project. ```plaintext -GET /projects/:id/integrations/custom-issue-tracker +GET /projects/:id/integrations/emails-on-push ``` -## Discord - -Send notifications about project events to a Discord channel. - -### Create/Edit Discord integration +## Engineering Workflow Management (EWM) -> `_channel` parameters [introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125621) in GitLab 16.3. +### Set up EWM -Set Discord integration for a project. +Set up the EWM integration for a project. ```plaintext -PUT /projects/:id/integrations/discord +PUT /projects/:id/integrations/ewm ``` Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | -| `webhook` | string | true | Discord webhook. For example, `https://discord.com/api/webhooks/…` | -| `branches_to_be_notified` | string | false | Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `default_and_protected`. The default value is "default" | -| `confidential_issues_events` | boolean | false | Enable notifications for confidential issue events | -| `confidential_issue_channel` | string | false | The webhook override to receive confidential issues events notifications | -| `confidential_note_events` | boolean | false | Enable notifications for confidential note events | -| `confidential_note_channel` | string | false | The webhook override to receive confidential note events notifications | -| `issues_events` | boolean | false | Enable notifications for issue events | -| `issue_channel` | string | false | The webhook override to receive issues events notifications | -| `merge_requests_events` | boolean | false | Enable notifications for merge request events | -| `merge_request_channel` | string | false | The webhook override to receive merge request events notifications | -| `note_events` | boolean | false | Enable notifications for note events | -| `note_channel` | string | false | The webhook override to receive note events notifications | -| `notify_only_broken_pipelines` | boolean | false | Send notifications for broken pipelines | -| `pipeline_events` | boolean | false | Enable notifications for pipeline events | -| `pipeline_channel` | string | false | The webhook override to receive pipeline events notifications | -| `push_events` | boolean | false | Enable notifications for push events | -| `push_channel` | string | false | The webhook override to receive push events notifications | -| `tag_push_events` | boolean | false | Enable notifications for tag push events | -| `tag_push_channel` | string | false | The webhook override to receive tag push events notifications | -| `wiki_page_events` | boolean | false | Enable notifications for wiki page events | -| `wiki_page_channel` | string | false | The webhook override to receive wiki page events notifications | - -### Disable Discord integration - -Disable the Discord integration for a project. Integration settings are reset. +| `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. ```plaintext -DELETE /projects/:id/integrations/discord +DELETE /projects/:id/integrations/ewm ``` -### Get Discord integration settings +### Get EWM settings -Get Discord integration settings for a project. +Get the EWM integration settings for a project. ```plaintext -GET /projects/:id/integrations/discord +GET /projects/:id/integrations/ewm ``` -## Drone CI - -Drone is a Continuous Integration platform built on Docker, written in Go +## External wiki -### Create/Edit Drone CI integration +### Set up an external wiki -Set Drone CI integration for a project. +Set up an external wiki for a project. ```plaintext -PUT /projects/:id/integrations/drone-ci +PUT /projects/:id/integrations/external-wiki ``` 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 | +| `external_wiki_url` | string | true | The URL of the external wiki. | -### Disable Drone CI integration +### Disable an external wiki -Disable the Drone CI integration for a project. Integration settings are reset. +Disable an external wiki for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/drone-ci +DELETE /projects/:id/integrations/external-wiki ``` -### Get Drone CI integration settings +### Get external wiki settings -Get Drone CI integration settings for a project. +Get the external wiki settings for a project. ```plaintext -GET /projects/:id/integrations/drone-ci +GET /projects/:id/integrations/external-wiki ``` -## Emails on Push - -Email the commits and diff of each push to a list of recipients. +## GitHub **(PREMIUM ALL)** -### Create/Edit Emails on Push integration +### Set up GitHub -Set Emails on Push integration for a project. +Set up the GitHub integration for a project. ```plaintext -PUT /projects/:id/integrations/emails-on-push +PUT /projects/:id/integrations/github ``` 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" | +| `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](../user/project/integrations/github.md#static-or-dynamic-status-check-names). | -### Disable Emails on Push integration +### Disable GitHub -Disable the Emails on Push integration for a project. Integration settings are reset. +Disable the GitHub integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/emails-on-push +DELETE /projects/:id/integrations/github ``` -### Get Emails on Push integration settings +### Get GitHub settings -Get Emails on Push integration settings for a project. +Get the GitHub integration settings for a project. ```plaintext -GET /projects/:id/integrations/emails-on-push +GET /projects/:id/integrations/github ``` -## Engineering Workflow Management (EWM) +## GitLab for Slack app -Use IBM Engineering Workflow Management (EWM) as a project's issue tracker. +### Set up the GitLab for Slack app -### Create/Edit EWM integration - -Set EWM integration for a project. +Set up the GitLab for Slack app for a project. ```plaintext -PUT /projects/:id/integrations/ewm +PUT /projects/:id/integrations/slack ``` 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` | +| `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 EWM integration +### Disable the GitLab for Slack app -Disable the EWM integration for a project. Integration settings are reset. +Disable the GitLab for Slack app for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/ewm +DELETE /projects/:id/integrations/slack ``` -### Get EWM integration settings +### Get the GitLab for Slack app settings -Get EWM integration settings for a project. +Get the GitLab for Slack app settings for a project. ```plaintext -GET /projects/:id/integrations/ewm +GET /projects/:id/integrations/slack ``` -## Confluence integration - -> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/220934) in GitLab 13.2. +## Google Chat -Replaces the link to the internal wiki with a link to a Confluence Cloud Workspace. +### Set up Google Chat -### Create/Edit Confluence integration - -Set Confluence integration for a project. +Set up the Google Chat integration for a project. ```plaintext -PUT /projects/:id/integrations/confluence +PUT /projects/:id/integrations/hangouts-chat ``` Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | -| `confluence_url` | string | true | The URL of the Confluence Cloud Workspace hosted on atlassian.net. | +| `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 Confluence integration +### Disable Google Chat -Disable the Confluence integration for a project. Integration settings are reset. +Disable the Google Chat integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/confluence +DELETE /projects/:id/integrations/hangouts-chat ``` -### Get Confluence integration settings +### Get Google Chat settings -Get Confluence integration settings for a project. +Get the Google Chat integration settings for a project. ```plaintext -GET /projects/:id/integrations/confluence +GET /projects/:id/integrations/hangouts-chat ``` -## Shimo integration - -> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/343386) in GitLab 14.5 [with a flag](../administration/feature_flags.md) named `shimo_integration`. Disabled by default. -> - [Enabled on GitLab.com](https://gitlab.com/gitlab-org/gitlab/-/issues/343386) in GitLab 15.4. -> - [Generally available](https://gitlab.com/gitlab-org/gitlab/-/issues/343386) in GitLab 15.4. [Feature flag `shimo_integration`](https://gitlab.com/gitlab-org/gitlab/-/issues/345356) removed. - -Replaces the link to the internal wiki with a link to a Shimo Workspace. +## irker (IRC gateway) -### Create/Edit Shimo integration +### Set up irker -Set Shimo integration for a project. +Set up the irker integration for a project. ```plaintext -PUT /projects/:id/integrations/shimo +PUT /projects/:id/integrations/irker ``` Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | -| `external_wiki_url` | string | true | Shimo Workspace URL | +| `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 Shimo integration +### Disable irker -Disable the Shimo integration for a project. Integration settings are reset. +Disable the irker integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/shimo +DELETE /projects/:id/integrations/irker ``` -## External wiki +### Get irker settings + +Get the irker integration settings for a project. + +```plaintext +GET /projects/:id/integrations/irker +``` -Replaces the link to the internal wiki with a link to an external wiki. +## Jenkins -### Create/Edit External wiki integration +### Set up Jenkins -Set External wiki integration for a project. +Set up the Jenkins integration for a project. ```plaintext -PUT /projects/:id/integrations/external-wiki +PUT /projects/:id/integrations/jenkins ``` Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | -| `external_wiki_url` | string | true | The URL of the external wiki | +| `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 External wiki integration +### Disable Jenkins -Disable the External wiki integration for a project. Integration settings are reset. +Disable the Jenkins integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/external-wiki +DELETE /projects/:id/integrations/jenkins ``` -### Get External wiki integration settings +### Get Jenkins settings -Get External wiki integration settings for a project. +Get the Jenkins integration settings for a project. ```plaintext -GET /projects/:id/integrations/external-wiki +GET /projects/:id/integrations/jenkins ``` -## GitHub **(PREMIUM ALL)** +## JetBrains TeamCity -Code collaboration software. +### Set up JetBrains TeamCity -### Create/Edit GitHub integration +Set up the JetBrains TeamCity integration for a project. -Set GitHub integration for a project. +The build configuration in TeamCity must use the build number format `%build.vcs.number%`. +In the advanced settings for VCS root, configure monitoring for all branches so merge requests can build. ```plaintext -PUT /projects/:id/integrations/github +PUT /projects/:id/integrations/teamcity ``` 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](../user/project/integrations/github.md#static-or-dynamic-status-check-names) | +| `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 GitHub integration +### Disable JetBrains TeamCity -Disable the GitHub integration for a project. Integration settings are reset. +Disable the JetBrains TeamCity integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/github +DELETE /projects/:id/integrations/teamcity ``` -### Get GitHub integration settings +### Get JetBrains TeamCity settings -Get GitHub integration settings for a project. +Get the JetBrains TeamCity integration settings for a project. ```plaintext -GET /projects/:id/integrations/github +GET /projects/:id/integrations/teamcity ``` -## Hangouts Chat - -Google Workspace team collaboration tool. +## Jira -### Create/Edit Hangouts Chat integration +### Set up Jira -Set Hangouts Chat integration for a project. +Set up the Jira integration for a project. ```plaintext -PUT /projects/:id/integrations/hangouts-chat +PUT /projects/:id/integrations/jira ``` 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 | +| `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](../integration/jira/issues.md#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](../integration/jira/issues.md#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 Hangouts Chat integration +### Disable Jira -Disable the Hangouts Chat integration for a project. Integration settings are reset. +Disable the Jira integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/hangouts-chat +DELETE /projects/:id/integrations/jira ``` -### Get Hangouts Chat integration settings +### Get Jira settings -Get Hangouts Chat integration settings for a project. +Get the Jira integration settings for a project. ```plaintext -GET /projects/:id/integrations/hangouts-chat +GET /projects/:id/integrations/jira ``` -## 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](../user/project/integrations/irker.md). +## Mattermost notifications -### Create/Edit Irker (IRC gateway) integration +### Set up Mattermost notifications -Set Irker (IRC gateway) integration for a project. +Set up Mattermost notifications for a project. ```plaintext -PUT /projects/:id/integrations/irker +PUT /projects/:id/integrations/mattermost ``` 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 | +| `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 Irker (IRC gateway) integration +### Disable Mattermost notifications -Disable the Irker (IRC gateway) integration for a project. Integration settings are reset. +Disable Mattermost notifications for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/irker +DELETE /projects/:id/integrations/mattermost ``` -### Get Irker (IRC gateway) integration settings +### Get Mattermost notifications settings -Get Irker (IRC gateway) integration settings for a project. +Get the Mattermost notifications settings for a project. ```plaintext -GET /projects/:id/integrations/irker +GET /projects/:id/integrations/mattermost ``` -## Jira - -Jira issue tracker. - -### Get Jira integration settings - -Get Jira integration settings for a project. - -```plaintext -GET /projects/:id/integrations/jira -``` +## Mattermost slash commands -### Create/Edit Jira integration +### Set up Mattermost slash commands -Set Jira integration for a project. +Set up Mattermost slash commands for a project. ```plaintext -PUT /projects/:id/integrations/jira +PUT /projects/:id/integrations/mattermost-slash-commands ``` 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 Jira personal access token (`jira_auth_type` is `1`) use a 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](../integration/jira/issues.md#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](../integration/jira/issues.md#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) | +| Parameter | Type | Required | Description | +| --------- | ------ | -------- | --------------------- | +| `token` | string | yes | The Mattermost token. | -### Disable Jira integration +### Disable Mattermost slash commands -Disable the Jira integration for a project. Integration settings are reset. +Disable Mattermost slash commands for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/jira +DELETE /projects/:id/integrations/mattermost-slash-commands ``` -## Slack Slash Commands - -Ability to receive slash commands from a Slack chat instance. +### Get Mattermost slash commands settings -### Get Slack Slash Command integration settings - -Get Slack Slash Command integration settings for a project. +Get the Mattermost slash commands settings for a project. ```plaintext -GET /projects/:id/integrations/slack-slash-commands +GET /projects/:id/integrations/mattermost-slash-commands ``` -Example response: +## Microsoft Teams notifications -```json -{ - "id": 4, - "title": "Slack slash commands", - "slug": "slack-slash-commands", - "created_at": "2017-06-27T05:51:39-07:00", - "updated_at": "2017-06-27T05:51:39-07:00", - "active": true, - "push_events": true, - "issues_events": true, - "confidential_issues_events": true, - "merge_requests_events": true, - "tag_push_events": true, - "note_events": true, - "job_events": true, - "pipeline_events": true, - "comment_on_event_enabled": false, - "properties": { - "token": "<your_access_token>" - } -} -``` - -### Create/Edit Slack Slash Commands integration +### Set up Microsoft Teams notifications -Set Slack Slash Command for a project. +Set up Microsoft Teams notifications for a project. ```plaintext -PUT /projects/:id/integrations/slack-slash-commands +PUT /projects/:id/integrations/microsoft-teams ``` Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | -| `token` | string | yes | The Slack token | +| `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 Slack Slash Command integration +### Disable Microsoft Teams notifications -Disable the Slack Slash Command integration for a project. Integration settings are reset. +Disable Microsoft Teams notifications for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/slack-slash-commands +DELETE /projects/:id/integrations/microsoft-teams ``` -## Mattermost Slash Commands - -Ability to receive slash commands from a Mattermost chat instance. +### Get Microsoft Teams notifications settings -### Get Mattermost Slash Command integration settings - -Get Mattermost Slash Command integration settings for a project. +Get the Microsoft Teams notifications settings for a project. ```plaintext -GET /projects/:id/integrations/mattermost-slash-commands +GET /projects/:id/integrations/microsoft-teams ``` -### Create/Edit Mattermost Slash Command integration +## Mock CI + +This integration is only available in a development environment. +For an example Mock CI server, see [`gitlab-org/gitlab-mock-ci-service`](https://gitlab.com/gitlab-org/gitlab-mock-ci-service). -Set Mattermost Slash Command for a project. +### Set up Mock CI + +Set up the Mock CI integration for a project. ```plaintext -PUT /projects/:id/integrations/mattermost-slash-commands +PUT /projects/:id/integrations/mock-ci ``` Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | -| `token` | string | yes | The Mattermost token | +| `mock_service_url` | string | true | `http://localhost:4004`. | +| `enable_ssl_verification` | boolean | false | Enable SSL verification. Defaults to `true` (enabled). | -### Disable Mattermost Slash Command integration +### Disable Mock CI -Disable the Mattermost Slash Command integration for a project. Integration settings are reset. +Disable the Mock CI integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/mattermost-slash-commands +DELETE /projects/:id/integrations/mock-ci ``` -## Packagist +### Get Mock CI settings -Update your project on Packagist (the main Composer repository) when commits or tags are pushed to GitLab. +Get the Mock CI integration settings for a project. -### Create/Edit Packagist integration +```plaintext +GET /projects/:id/integrations/mock-ci +``` + +## Packagist + +### Set up Packagist -Set Packagist integration for a project. +Set up the Packagist integration for a project. ```plaintext PUT /projects/:id/integrations/packagist @@ -1181,14 +1143,14 @@ 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 | +| `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 integration +### Disable Packagist Disable the Packagist integration for a project. Integration settings are reset. @@ -1196,21 +1158,19 @@ Disable the Packagist integration for a project. Integration settings are reset. DELETE /projects/:id/integrations/packagist ``` -### Get Packagist integration settings +### Get Packagist settings -Get Packagist integration settings for a project. +Get the Packagist integration settings for a project. ```plaintext GET /projects/:id/integrations/packagist ``` -## Pipeline-Emails - -Get emails for GitLab CI/CD pipelines. +## Pipeline status emails -### Create/Edit Pipeline-Emails integration +### Set up pipeline status emails -Set Pipeline-Emails integration for a project. +Set up pipeline status emails for a project. ```plaintext PUT /projects/:id/integrations/pipelines-email @@ -1220,23 +1180,23 @@ 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](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/28271)) | -| `pipeline_events` | boolean | false | Enable notifications for pipeline events | +| `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-Emails integration +### Disable pipeline status emails -Disable the Pipeline-Emails integration for a project. Integration settings are reset. +Disable pipeline status emails for a project. Integration settings are reset. ```plaintext DELETE /projects/:id/integrations/pipelines-email ``` -### Get Pipeline-Emails integration settings +### Get pipeline status emails settings -Get Pipeline-Emails integration settings for a project. +Get the pipeline status emails settings for a project. ```plaintext GET /projects/:id/integrations/pipelines-email @@ -1244,13 +1204,9 @@ GET /projects/:id/integrations/pipelines-email ## Pivotal Tracker -Add commit messages as comments to Pivotal Tracker stories. - -See also the [Pivotal Tracker integration documentation](../user/project/integrations/pivotal_tracker.md). +### Set up Pivotal Tracker -### Create/Edit Pivotal Tracker integration - -Set Pivotal Tracker integration for a project. +Set up the Pivotal Tracker integration for a project. ```plaintext PUT /projects/:id/integrations/pivotaltracker @@ -1260,10 +1216,10 @@ Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | -| `token` | string | true | The Pivotal Tracker token | +| `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 Pivotal Tracker Disable the Pivotal Tracker integration for a project. Integration settings are reset. @@ -1271,57 +1227,62 @@ Disable the Pivotal Tracker integration for a project. Integration settings are DELETE /projects/:id/integrations/pivotaltracker ``` -### Get Pivotal Tracker integration settings +### Get Pivotal Tracker settings -Get Pivotal Tracker integration settings for a project. +Get the Pivotal Tracker integration settings for a project. ```plaintext GET /projects/:id/integrations/pivotaltracker ``` -## Prometheus - -Prometheus is a powerful time-series monitoring service. +## Pumble -### Create/Edit Prometheus integration +### Set up Pumble -Set Prometheus integration for a project. +Set up the Pumble integration for a project. ```plaintext -PUT /projects/:id/integrations/prometheus +PUT /projects/:id/integrations/pumble ``` 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": ... }` | +| `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 Prometheus integration +### Disable Pumble -Disable the Prometheus integration for a project. Integration settings are reset. +Disable the Pumble integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/prometheus +DELETE /projects/:id/integrations/pumble ``` -### Get Prometheus integration settings +### Get Pumble settings -Get Prometheus integration settings for a project. +Get the Pumble integration settings for a project. ```plaintext -GET /projects/:id/integrations/prometheus +GET /projects/:id/integrations/pumble ``` ## Pushover -Pushover makes it easy to get real-time notifications on your Android device, iPhone, iPad, and Desktop. - -### Create/Edit Pushover integration +### Set up Pushover -Set Pushover integration for a project. +Set up the Pushover integration for a project. ```plaintext PUT /projects/:id/integrations/pushover @@ -1331,13 +1292,13 @@ 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 | +| `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 Pushover Disable the Pushover integration for a project. Integration settings are reset. @@ -1345,9 +1306,9 @@ Disable the Pushover integration for a project. Integration settings are reset. DELETE /projects/:id/integrations/pushover ``` -### Get Pushover integration settings +### Get Pushover settings -Get Pushover integration settings for a project. +Get the Pushover integration settings for a project. ```plaintext GET /projects/:id/integrations/pushover @@ -1355,11 +1316,9 @@ GET /projects/:id/integrations/pushover ## Redmine -Redmine issue tracker +### Set up Redmine -### Create/Edit Redmine integration - -Set Redmine integration for a project. +Set up the Redmine integration for a project. ```plaintext PUT /projects/:id/integrations/redmine @@ -1369,11 +1328,11 @@ 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 | +| `new_issue_url` | string | true | New issue URL. | +| `project_url` | string | true | Project URL. | +| `issues_url` | string | true | Issue URL. | -### Disable Redmine integration +### Disable Redmine Disable the Redmine integration for a project. Integration settings are reset. @@ -1381,383 +1340,241 @@ Disable the Redmine integration for a project. Integration settings are reset. DELETE /projects/:id/integrations/redmine ``` -### Get Redmine integration settings +### Get Redmine settings -Get Redmine integration settings for a project. +Get the Redmine integration settings for a project. ```plaintext GET /projects/:id/integrations/redmine ``` -## Slack notifications - -Receive event notifications in Slack +## Slack slash commands -### Create/Edit Slack integration +### Set up Slack slash commands -Set Slack integration for a project. +Set up Slack slash commands for a project. ```plaintext -PUT /projects/:id/integrations/slack +PUT /projects/:id/integrations/slack-slash-commands ``` Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | -| `webhook` | string | true | `https://hooks.slack.com/services/...` | -| `username` | string | false | username | -| `channel` | string | false | Default channel to use if others are not configured | -| `notify_only_broken_pipelines` | boolean | false | Send notifications for broken pipelines | -| `notify_only_default_branch` | boolean | false | DEPRECATED: This parameter has been replaced with `branches_to_be_notified` | -| `branches_to_be_notified` | string | false | Branches to send notifications for. Valid options are `all`, `default`, `protected`, and `default_and_protected`. The default value is "default" | -| `alert_channel` | string | false | The name of the channel to receive alert events notifications | -| `alert_events` | boolean | false | Enable notifications for alert events | -| `commit_events` | boolean | false | Enable notifications for commit events | -| `confidential_issue_channel` | string | false | The name of the channel to receive confidential issues events notifications | -| `confidential_issues_events` | boolean | false | Enable notifications for confidential issue events | -| `confidential_note_channel` | string | false | The name of the channel to receive confidential note events notifications | -| `confidential_note_events` | boolean | false | Enable notifications for confidential note events | -| `deployment_channel` | string | false | The name of the channel to receive deployment events notifications | -| `deployment_events` | boolean | false | Enable notifications for deployment events | -| `incident_channel` | string | false | The name of the channel to receive incidents events notifications | -| `incidents_events` | boolean | false | Enable notifications for incident events | -| `issue_channel` | string | false | The name of the channel to receive issues events notifications | -| `issues_events` | boolean | false | Enable notifications for issue events | -| `job_events` | boolean | false | Enable notifications for job events | -| `merge_request_channel` | string | false | The name of the channel to receive merge request events notifications | -| `merge_requests_events` | boolean | false | Enable notifications for merge request events | -| `note_channel` | string | false | The name of the channel to receive note events notifications | -| `note_events` | boolean | false | Enable notifications for note events | -| `pipeline_channel` | string | false | The name of the channel to receive pipeline events notifications | -| `pipeline_events` | boolean | false | Enable notifications for pipeline events | -| `push_channel` | string | false | The name of the channel to receive push events notifications | -| `push_events` | boolean | false | Enable notifications for push events | -| `tag_push_channel` | string | false | The name of the channel to receive tag push events notifications | -| `tag_push_events` | boolean | false | Enable notifications for tag push events | -| `wiki_page_channel` | string | false | The name of the channel to receive wiki page events notifications | -| `wiki_page_events` | boolean | false | Enable notifications for wiki page events | - -### Disable Slack integration - -Disable the Slack integration for a project. Integration settings are reset. - -```plaintext -DELETE /projects/:id/integrations/slack -``` +| `token` | string | yes | The Slack token. | -### Get Slack integration settings +### Disable Slack slash commands -Get Slack integration settings for a project. +Disable Slack slash commands for a project. Integration settings are reset. ```plaintext -GET /projects/:id/integrations/slack -``` - -## Microsoft Teams - -Group Chat Software - -### Create/Edit Microsoft Teams integration - -Set Microsoft Teams integration for a project. - -```plaintext -PUT /projects/:id/integrations/microsoft-teams +DELETE /projects/:id/integrations/slack-slash-commands ``` -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 +### Get Slack slash commands settings -Disable the Microsoft Teams integration for a project. Integration settings are reset. +Get the Slack slash commands settings for a project. ```plaintext -DELETE /projects/:id/integrations/microsoft-teams +GET /projects/:id/integrations/slack-slash-commands ``` -### Get Microsoft Teams integration settings - -Get Microsoft Teams integration settings for a project. +Example response: -```plaintext -GET /projects/:id/integrations/microsoft-teams +```json +{ + "id": 4, + "title": "Slack slash commands", + "slug": "slack-slash-commands", + "created_at": "2017-06-27T05:51:39-07:00", + "updated_at": "2017-06-27T05:51:39-07:00", + "active": true, + "push_events": true, + "issues_events": true, + "confidential_issues_events": true, + "merge_requests_events": true, + "tag_push_events": true, + "note_events": true, + "job_events": true, + "pipeline_events": true, + "comment_on_event_enabled": false, + "properties": { + "token": "<your_access_token>" + } +} ``` -## Mattermost notifications +## Squash TM -Receive event notifications in Mattermost +> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/337855) in GitLab 15.10. -### Create/Edit Mattermost notifications integration +### Set up Squash TM -Set Mattermost notifications integration for a project. +Set up the Squash TM integration settings for a project. ```plaintext -PUT /projects/:id/integrations/mattermost +PUT /projects/:id/integrations/squash-tm ``` 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 reset. +| 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. ```plaintext -DELETE /projects/:id/integrations/mattermost +DELETE /projects/:id/integrations/squash-tm ``` -### Get Mattermost notifications integration settings +### Get Squash TM settings -Get Mattermost notifications integration settings for a project. +Get the Squash TM integration settings for a project. ```plaintext -GET /projects/:id/integrations/mattermost +GET /projects/:id/integrations/squash-tm ``` -## JetBrains TeamCity CI - -A continuous integration and build server - -### Create/Edit JetBrains TeamCity CI integration +## Telegram -Set JetBrains TeamCity CI integration for a project. +### Set up Telegram -> 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. +Set up the Telegram integration for a project. ```plaintext -PUT /projects/:id/integrations/teamcity +PUT /projects/:id/integrations/telegram ``` 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 +| `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](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/134361) 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 JetBrains TeamCity CI integration for a project. Integration settings are reset. +Disable the Telegram integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/teamcity +DELETE /projects/:id/integrations/telegram ``` -### Get JetBrains TeamCity CI integration settings +### Get Telegram settings -Get JetBrains TeamCity CI integration settings for a project. +Get the Telegram integration settings for a project. ```plaintext -GET /projects/:id/integrations/teamcity +GET /projects/:id/integrations/telegram ``` -## Jenkins CI - -A continuous integration and build server +## Unify Circuit -### Create/Edit Jenkins CI integration +### Set up Unify Circuit -Set Jenkins CI integration for a project. +Set up the Unify Circuit integration for a project. ```plaintext -PUT /projects/:id/integrations/jenkins +PUT /projects/:id/integrations/unify-circuit ``` 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. | +| `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 Jenkins CI integration - -Disable the Jenkins CI integration for a project. Integration settings are reset. - -```plaintext -DELETE /projects/:id/integrations/jenkins -``` - -### Get Jenkins CI integration settings - -Get Jenkins CI integration settings for a project. - -```plaintext -GET /projects/:id/integrations/jenkins -``` - -## Jenkins CI (Deprecated) integration - -A continuous integration and build server - -NOTE: -This integration was [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/1600) in GitLab 13.0. - -### Create/Edit Jenkins CI (Deprecated) integration - -Set Jenkins CI (Deprecated) integration for a project. - -```plaintext -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 Unify Circuit -Disable the Jenkins CI (Deprecated) integration for a project. Integration settings are reset. +Disable the Unify Circuit integration for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/jenkins-deprecated +DELETE /projects/:id/integrations/unify-circuit ``` -### Get Jenkins CI (Deprecated) integration settings +### Get Unify Circuit settings -Get Jenkins CI (Deprecated) integration settings for a project. +Get the Unify Circuit integration settings for a project. ```plaintext -GET /projects/:id/integrations/jenkins-deprecated +GET /projects/:id/integrations/unify-circuit ``` -## MockCI - -Mock an external CI. See [`gitlab-org/gitlab-mock-ci-service`](https://gitlab.com/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. +## Webex Teams -### Create/Edit MockCI integration +### Set up Webex Teams -Set MockCI integration for a project. +Set up Webex Teams for a project. ```plaintext -PUT /projects/:id/integrations/mock-ci +PUT /projects/:id/integrations/webex-teams ``` 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 reset. - -```plaintext -DELETE /projects/:id/integrations/mock-ci -``` - -### Get MockCI integration settings - -Get MockCI integration settings for a project. - -```plaintext -GET /projects/:id/integrations/mock-ci -``` - -## Squash TM - -> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/337855) in GitLab 15.10. - -Update [Squash TM](https://www.squashtest.com/product-squash-tm?lang=en) requirements when GitLab issues are modified. - -### Create/Edit Squash TM integration - -Set Squash TM integration settings for a project. - -```plaintext -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 | +| `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 Squash TM integration +### Disable Webex Teams -Disable the Squash TM integration for a project. Integration settings are preserved. +Disable Webex Teams for a project. Integration settings are reset. ```plaintext -DELETE /projects/:id/integrations/squash-tm +DELETE /projects/:id/integrations/webex-teams ``` -### Get Squash TM integration settings +### Get Webex Teams settings -Get Squash TM integration settings for a project. +Get the Webex Teams settings for a project. ```plaintext -GET /projects/:id/integrations/squash-tm +GET /projects/:id/integrations/webex-teams ``` ## YouTrack -YouTrack issue tracker - -### Create/Edit YouTrack integration +### Set up YouTrack -Set YouTrack integration for a project. +Set up the YouTrack integration for a project. ```plaintext PUT /projects/:id/integrations/youtrack @@ -1767,10 +1584,10 @@ Parameters: | Parameter | Type | Required | Description | | --------- | ---- | -------- | ----------- | -| `issues_url` | string | true | Issue URL | -| `project_url` | string | true | Project URL | +| `issues_url` | string | true | Issue URL. | +| `project_url` | string | true | Project URL. | -### Disable YouTrack integration +### Disable YouTrack Disable the YouTrack integration for a project. Integration settings are reset. @@ -1778,9 +1595,9 @@ Disable the YouTrack integration for a project. Integration settings are reset. DELETE /projects/:id/integrations/youtrack ``` -### Get YouTrack integration settings +### Get YouTrack settings -Get YouTrack integration settings for a project. +Get the YouTrack integration settings for a project. ```plaintext GET /projects/:id/integrations/youtrack |