2017-05-18 08:49:03 +00:00
# Services API
2014-10-14 17:07:34 +00:00
2017-12-20 17:35:58 +00:00
>**Note:** This API requires an access token with Master or Owner permissions
2015-08-26 23:58:49 +00:00
## Asana
Asana - Teamwork without email
### Create/Edit Asana service
Set Asana service for a project.
2016-06-26 03:43:10 +00:00
> This service adds commit messages as comments to Asana tasks. Once enabled, commit messages are checked for Asana task URLs (for example, `https://app.asana.com/0/123456/987654`) or task IDs starting with # (for example, `#987654`). Every task ID found will get the commit comment added to it. You can also close a task with a message containing: `fix #123456`. You can find your Api Keys here: https://asana.com/developers/documentation/getting-started/auth#api-key
2015-08-26 23:58:49 +00:00
```
PUT /projects/:id/services/asana
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `api_key` | string | true | User API token. User must have access to task, all comments will be attributed to this user. |
| `restrict_to_branch` | string | false | Comma-separated list of branches which will be automatically inspected. Leave blank to include all branches. |
2015-08-26 23:58:49 +00:00
### Delete Asana service
Delete Asana service for a project.
```
DELETE /projects/:id/services/asana
```
2015-09-03 13:38:54 +00:00
### Get Asana service settings
Get Asana service settings for a project.
```
GET /projects/:id/services/asana
```
2015-08-26 23:58:49 +00:00
## Assembla
Project Management Software (Source Commits Endpoint)
### Create/Edit Assembla service
Set Assembla service for a project.
```
PUT /projects/:id/services/assembla
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `token` | string | true | The authentication token
| `subdomain` | string | false | The subdomain setting |
2015-08-26 23:58:49 +00:00
### Delete Assembla service
Delete Assembla service for a project.
```
DELETE /projects/:id/services/assembla
```
2015-09-03 13:38:54 +00:00
### Get Assembla service settings
Get Assembla service settings for a project.
```
GET /projects/:id/services/assembla
```
2015-08-26 23:58:49 +00:00
## Atlassian Bamboo CI
2017-03-06 10:50:32 +00:00
A continuous integration and build server
2015-08-26 23:58:49 +00:00
### Create/Edit Atlassian Bamboo CI service
Set Atlassian Bamboo CI service for a project.
> You must set up automatic revision labeling and a repository trigger in Bamboo.
```
PUT /projects/:id/services/bamboo
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `bamboo_url` | string | true | Bamboo root URL like https://bamboo.example.com |
| `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 |
2015-08-26 23:58:49 +00:00
### Delete Atlassian Bamboo CI service
Delete Atlassian Bamboo CI service for a project.
```
DELETE /projects/:id/services/bamboo
```
2015-09-03 13:38:54 +00:00
### Get Atlassian Bamboo CI service settings
Get Atlassian Bamboo CI service settings for a project.
```
GET /projects/:id/services/bamboo
```
2017-12-20 17:35:58 +00:00
## Bugzilla
Bugzilla Issue Tracker
### Create/Edit Buildkite service
Set Bugzilla service for a project.
```
PUT /projects/:id/services/bugzilla
```
Parameters:
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `new_issue_url` | string | true | New Issue url |
| `issues_url` | string | true | Issue url |
| `project_url` | string | true | Project url |
| `description` | string | false | Description |
| `title` | string | false | Title |
### Delete Bugzilla Service
Delete Bugzilla service for a project.
```
DELETE /projects/:id/services/bugzilla
```
### Get Bugzilla Service Settings
Get Bugzilla service settings for a project.
```
GET /projects/:id/services/bugzilla
```
2015-08-26 23:58:49 +00:00
## Buildkite
Continuous integration and deployments
### Create/Edit Buildkite service
Set Buildkite service for a project.
```
2017-03-06 10:50:32 +00:00
PUT /projects/:id/services/buildkite
2015-08-26 23:58:49 +00:00
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `token` | string | true | Buildkite project GitLab token |
| `project_url` | string | true | https://buildkite.com/example/project |
| `enable_ssl_verification` | boolean | false | Enable SSL verification |
2015-08-26 23:58:49 +00:00
### Delete Buildkite service
Delete Buildkite service for a project.
```
2017-03-06 10:50:32 +00:00
DELETE /projects/:id/services/buildkite
2015-08-26 23:58:49 +00:00
```
2015-09-03 13:38:54 +00:00
### Get Buildkite service settings
Get Buildkite service settings for a project.
```
2017-03-06 10:50:32 +00:00
GET /projects/:id/services/buildkite
2015-09-03 13:38:54 +00:00
```
2015-08-26 23:58:49 +00:00
## Campfire
Simple web-based real-time group chat
### Create/Edit Campfire service
Set Campfire service for a project.
```
PUT /projects/:id/services/campfire
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `token` | string | true | Campfire token |
| `subdomain` | string | false | Campfire subdomain |
| `room` | string | false | Campfire room |
2015-08-26 23:58:49 +00:00
### Delete Campfire service
Delete Campfire service for a project.
```
DELETE /projects/:id/services/campfire
```
2015-09-03 13:38:54 +00:00
### Get Campfire service settings
Get Campfire service settings for a project.
```
GET /projects/:id/services/campfire
```
2015-08-26 23:58:49 +00:00
## Custom Issue Tracker
Custom issue tracker
### Create/Edit Custom Issue Tracker service
Set Custom Issue Tracker service for a project.
```
PUT /projects/:id/services/custom-issue-tracker
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `new_issue_url` | string | true | New Issue url
| `issues_url` | string | true | Issue url
| `project_url` | string | true | Project url
| `description` | string | false | Description
| `title` | string | false | Title
2015-08-26 23:58:49 +00:00
### Delete Custom Issue Tracker service
Delete Custom Issue Tracker service for a project.
```
DELETE /projects/:id/services/custom-issue-tracker
```
2015-09-03 13:38:54 +00:00
### Get Custom Issue Tracker service settings
Get Custom Issue Tracker service settings for a project.
```
GET /projects/:id/services/custom-issue-tracker
```
2015-08-26 23:58:49 +00:00
## Drone CI
Drone is a Continuous Integration platform built on Docker, written in Go
### Create/Edit Drone CI service
Set Drone CI service for a project.
```
PUT /projects/:id/services/drone-ci
```
Parameters:
2017-12-20 17:35:58 +00:00
| 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 |
2015-08-26 23:58:49 +00:00
### Delete Drone CI service
Delete Drone CI service for a project.
```
DELETE /projects/:id/services/drone-ci
```
2015-09-03 13:38:54 +00:00
### Get Drone CI service settings
Get Drone CI service settings for a project.
```
GET /projects/:id/services/drone-ci
```
2015-08-26 23:58:49 +00:00
## Emails on push
Email the commits and diff of each push to a list of recipients.
### Create/Edit Emails on push service
Set Emails on push service for a project.
```
PUT /projects/:id/services/emails-on-push
```
Parameters:
2017-12-20 17:35:58 +00:00
| 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 |
2015-08-26 23:58:49 +00:00
### Delete Emails on push service
Delete Emails on push service for a project.
```
DELETE /projects/:id/services/emails-on-push
```
2015-09-03 13:38:54 +00:00
### Get Emails on push service settings
Get Emails on push service settings for a project.
```
GET /projects/:id/services/emails-on-push
```
2015-08-26 23:58:49 +00:00
## External Wiki
Replaces the link to the internal wiki with a link to an external wiki.
### Create/Edit External Wiki service
Set External Wiki service for a project.
```
PUT /projects/:id/services/external-wiki
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `external_wiki_url` | string | true | The URL of the external Wiki |
2015-08-26 23:58:49 +00:00
### Delete External Wiki service
Delete External Wiki service for a project.
```
DELETE /projects/:id/services/external-wiki
```
2015-09-03 13:38:54 +00:00
### Get External Wiki service settings
Get External Wiki service settings for a project.
```
GET /projects/:id/services/external-wiki
```
2015-08-26 23:58:49 +00:00
## Flowdock
Flowdock is a collaboration web app for technical teams.
### Create/Edit Flowdock service
Set Flowdock service for a project.
```
PUT /projects/:id/services/flowdock
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `token` | string | true | Flowdock Git source token |
2015-08-26 23:58:49 +00:00
### Delete Flowdock service
Delete Flowdock service for a project.
```
DELETE /projects/:id/services/flowdock
```
2015-09-03 13:38:54 +00:00
### Get Flowdock service settings
Get Flowdock service settings for a project.
```
GET /projects/:id/services/flowdock
```
2015-08-26 23:58:49 +00:00
## Gemnasium
Gemnasium monitors your project dependencies and alerts you about updates and security vulnerabilities.
### Create/Edit Gemnasium service
Set Gemnasium service for a project.
```
PUT /projects/:id/services/gemnasium
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `api_key` | string | true | Your personal API KEY on gemnasium.com |
| `token` | string | true | The project's slug on gemnasium.com |
2015-08-26 23:58:49 +00:00
### Delete Gemnasium service
Delete Gemnasium service for a project.
```
DELETE /projects/:id/services/gemnasium
```
2015-09-03 13:38:54 +00:00
### Get Gemnasium service settings
Get Gemnasium service settings for a project.
```
GET /projects/:id/services/gemnasium
```
2015-02-03 23:18:40 +00:00
## HipChat
2014-10-14 17:07:34 +00:00
2015-08-26 23:58:49 +00:00
Private group chat and IM
### Create/Edit HipChat service
2014-10-14 17:07:34 +00:00
2015-08-26 23:58:49 +00:00
Set HipChat service for a project.
2014-10-14 17:07:34 +00:00
```
PUT /projects/:id/services/hipchat
```
2015-08-26 23:58:49 +00:00
2014-10-14 17:07:34 +00:00
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `token` | string | true | Room token |
| `color` | string | false | The room color |
| `notify` | boolean | false | Enable notifications |
| `room` | string | false |Room name or ID |
| `api_version` | string | false | Leave blank for default (v2) |
| `server` | string | false | Leave blank for default. https://hipchat.example.com |
2014-10-14 17:07:34 +00:00
2015-02-03 23:18:40 +00:00
### Delete HipChat service
2014-10-14 17:07:34 +00:00
2015-02-03 23:18:40 +00:00
Delete HipChat service for a project.
2014-10-14 17:07:34 +00:00
```
DELETE /projects/:id/services/hipchat
```
2015-08-26 23:58:49 +00:00
2015-09-03 13:38:54 +00:00
### Get HipChat service settings
Get HipChat service settings for a project.
```
GET /projects/:id/services/hipchat
```
2015-08-26 23:58:49 +00:00
## Irker (IRC gateway)
Send IRC messages, on update, to a list of recipients through an Irker gateway.
### Create/Edit Irker (IRC gateway) service
Set Irker (IRC gateway) service for a project.
> NOTE: Irker does NOT have built-in authentication, which makes it vulnerable to spamming IRC channels if it is hosted outside of a firewall. Please make sure you run the daemon within a secured network to prevent abuse. For more details, read: http://www.catb.org/~esr/irker/security.html.
```
PUT /projects/:id/services/irker
```
Parameters:
2017-12-20 17:35:58 +00:00
| 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 |
2015-08-26 23:58:49 +00:00
### Delete Irker (IRC gateway) service
Delete Irker (IRC gateway) service for a project.
```
DELETE /projects/:id/services/irker
```
2015-09-03 13:38:54 +00:00
### Get Irker (IRC gateway) service settings
Get Irker (IRC gateway) service settings for a project.
```
GET /projects/:id/services/irker
```
2015-08-26 23:58:49 +00:00
## JIRA
2016-10-26 15:12:39 +00:00
JIRA issue tracker.
### Get JIRA service settings
Get JIRA service settings for a project.
```
GET /projects/:id/services/jira
```
2015-08-26 23:58:49 +00:00
### Create/Edit JIRA service
Set JIRA service for a project.
2016-11-22 17:31:34 +00:00
>**Notes:**
- Starting with GitLab 8.14, `api_url` , `issues_url` , `new_issue_url` and
`project_url` are replaced by `project_key` , `url` . If you are using an
older version, [follow this documentation][old-jira-api].
2015-08-26 23:58:49 +00:00
```
PUT /projects/:id/services/jira
```
2017-12-20 17:35:58 +00:00
Parameters:
| Parameter | Type | Required | Description |
2016-10-26 15:12:39 +00:00
| --------- | ---- | -------- | ----------- |
2016-11-22 17:31:34 +00:00
| `url` | string | yes | The URL to the JIRA project which is being linked to this GitLab project, e.g., `https://jira.example.com` . |
| `project_key` | string | yes | The short identifier for your JIRA project, all uppercase, e.g., `PROJ` . |
2017-10-24 07:40:26 +00:00
| `username` | string | yes | The username of the user created to be used with GitLab/JIRA. |
| `password` | string | yes | The password of the user created to be used with GitLab/JIRA. |
2016-12-05 14:40:53 +00:00
| `jira_issue_transition_id` | integer | no | The ID of a transition that moves issues to a closed state. You can find this number under the JIRA workflow administration (**Administration > Issues > Workflows**) by selecting **View** under **Operations** of the desired workflow of your project. The ID of each state can be found inside the parenthesis of each transition name under the **Transitions (id)** column ([see screenshot][trans]). By default, this ID is set to `2` . |
2015-08-26 23:58:49 +00:00
### Delete JIRA service
2016-10-26 15:12:39 +00:00
Remove all previously JIRA settings from a project.
2015-08-26 23:58:49 +00:00
```
DELETE /projects/:id/services/jira
```
2017-11-13 06:42:31 +00:00
## Kubernetes
Kubernetes / Openshift integration
### Create/Edit Kubernetes service
Set Kubernetes service for a project.
```
PUT /projects/:id/services/kubernetes
```
Parameters:
- `namespace` (**required**) - The Kubernetes namespace to use
- `api_url` (**required**) - The URL to the Kubernetes cluster API, e.g., https://kubernetes.example.com
- `token` (**required**) - The service token to authenticate against the Kubernetes cluster with
- `ca_pem` (optional) - A custom certificate authority bundle to verify the Kubernetes cluster with (PEM format)
### Delete Kubernetes service
Delete Kubernetes service for a project.
```
DELETE /projects/:id/services/kubernetes
```
### Get Kubernetes service settings
Get Kubernetes service settings for a project.
```
GET /projects/:id/services/kubernetes
```
2017-04-18 08:19:00 +00:00
## Slack slash commands
2016-12-05 14:40:53 +00:00
2017-04-18 08:19:00 +00:00
Ability to receive slash commands from a Slack chat instance.
2016-12-05 14:40:53 +00:00
2017-04-18 08:19:00 +00:00
### Get Slack slash command service settings
2016-12-05 14:40:53 +00:00
2017-04-18 08:19:00 +00:00
Get Slack slash command service settings for a project.
2016-12-05 14:40:53 +00:00
```
2017-04-18 08:19:00 +00:00
GET /projects/:id/services/slack-slash-commands
```
Example response:
```json
{
"id": 4,
"title": "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,
"merge_requests_events": true,
"tag_push_events": true,
"note_events": true,
2017-05-15 15:11:45 +00:00
"job_events": true,
2017-04-18 08:19:00 +00:00
"pipeline_events": true,
"properties": {
"token": "9koXpg98eAheJpvBs5tK"
}
}
```
### Create/Edit Slack slash command service
Set Slack slash command for a project.
```
PUT /projects/:id/services/slack-slash-commands
2016-12-05 14:40:53 +00:00
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
2016-12-12 13:27:52 +00:00
| --------- | ---- | -------- | ----------- |
2017-04-18 08:19:00 +00:00
| `token` | string | yes | The Slack token |
2016-12-12 13:27:52 +00:00
2016-12-05 14:40:53 +00:00
2017-04-18 08:19:00 +00:00
### Delete Slack slash command service
2016-12-05 14:40:53 +00:00
2017-04-18 08:19:00 +00:00
Delete Slack slash command service for a project.
2016-12-05 14:40:53 +00:00
```
2017-04-18 08:19:00 +00:00
DELETE /projects/:id/services/slack-slash-commands
2016-12-05 14:40:53 +00:00
```
2017-04-18 08:19:00 +00:00
## Mattermost slash commands
Ability to receive slash commands from a Mattermost chat instance.
### Get Mattermost slash command service settings
2016-12-05 14:40:53 +00:00
2017-04-18 08:19:00 +00:00
Get Mattermost slash command service settings for a project.
2016-12-05 14:40:53 +00:00
```
GET /projects/:id/services/mattermost-slash-commands
```
2017-04-18 08:19:00 +00:00
### Create/Edit Mattermost slash command service
Set Mattermost slash command for a project.
```
PUT /projects/:id/services/mattermost-slash-commands
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
2017-04-18 08:19:00 +00:00
| --------- | ---- | -------- | ----------- |
| `token` | string | yes | The Mattermost token |
2017-11-08 10:22:24 +00:00
| `username` | string | no | The username to use to post the message |
2017-04-18 08:19:00 +00:00
### Delete Mattermost slash command service
Delete Mattermost slash command service for a project.
```
DELETE /projects/:id/services/mattermost-slash-commands
```
2017-09-21 20:05:44 +00:00
## Packagist
Update your project on Packagist, the main Composer repository, when commits or tags are pushed to GitLab.
### Create/Edit Packagist service
Set Packagist service for a project.
```
PUT /projects/:id/services/packagist
```
Parameters:
- `username` (**required**)
- `token` (**required**)
- `server` (optional)
### Delete Packagist service
Delete Packagist service for a project.
```
DELETE /projects/:id/services/packagist
```
### Get Packagist service settings
Get Packagist service settings for a project.
```
GET /projects/:id/services/packagist
```
2016-12-05 14:40:53 +00:00
## Pipeline-Emails
Get emails for GitLab CI pipelines.
### Create/Edit Pipeline-Emails service
Set Pipeline-Emails service for a project.
```
PUT /projects/:id/services/pipelines-email
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
2016-12-12 13:27:52 +00:00
| --------- | ---- | -------- | ----------- |
| `recipients` | string | yes | Comma-separated list of recipient email addresses |
| `add_pusher` | boolean | no | Add pusher to recipients list |
2017-03-17 23:06:11 +00:00
| `notify_only_broken_pipelines` | boolean | no | Notify only broken pipelines |
2016-12-05 14:40:53 +00:00
### Delete Pipeline-Emails service
Delete Pipeline-Emails service for a project.
```
DELETE /projects/:id/services/pipelines-email
```
### Get Pipeline-Emails service settings
Get Pipeline-Emails service settings for a project.
```
GET /projects/:id/services/pipelines-email
```
2015-08-26 23:58:49 +00:00
## PivotalTracker
Project Management Software (Source Commits Endpoint)
### Create/Edit PivotalTracker service
Set PivotalTracker service for a project.
```
PUT /projects/:id/services/pivotaltracker
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `token` | string | true | The PivotalTracker token |
| `restrict_to_branch` | boolean | false | Comma-separated list of branches which will be automatically inspected. Leave blank to include all branches. |
2015-08-26 23:58:49 +00:00
### Delete PivotalTracker service
Delete PivotalTracker service for a project.
```
DELETE /projects/:id/services/pivotaltracker
```
2015-09-03 13:38:54 +00:00
### Get PivotalTracker service settings
Get PivotalTracker service settings for a project.
```
GET /projects/:id/services/pivotaltracker
```
2017-12-20 17:35:58 +00:00
## Prometheus
Prometheus is a powerful time-series monitoring service.
### Create/Edit Prometheus service
Set Prometheus service for a project.
```
PUT /projects/:id/services/prometheus
```
Parameters:
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `api_url` | string | true | Prometheus API Base URL, like http://prometheus.example.com/ |
### Delete Prometheus service
Delete Prometheus service for a project.
```
DELETE /projects/:id/services/prometheus
```
### Get Prometheus service settings
Get Prometheus service settings for a project.
```
GET /projects/:id/services/prometheus
```
2015-08-26 23:58:49 +00:00
## Pushover
Pushover makes it easy to get real-time notifications on your Android device, iPhone, iPad, and Desktop.
### Create/Edit Pushover service
Set Pushover service for a project.
```
PUT /projects/:id/services/pushover
```
Parameters:
2017-12-20 17:35:58 +00:00
| 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 |
2015-08-26 23:58:49 +00:00
### Delete Pushover service
Delete Pushover service for a project.
```
DELETE /projects/:id/services/pushover
```
2015-09-03 13:38:54 +00:00
### Get Pushover service settings
Get Pushover service settings for a project.
```
GET /projects/:id/services/pushover
```
2015-08-26 23:58:49 +00:00
## Redmine
Redmine issue tracker
### Create/Edit Redmine service
Set Redmine service for a project.
```
PUT /projects/:id/services/redmine
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `new_issue_url` | string | true | New Issue url |
| `project_url` | string | true | Project url |
| `issues_url` | string | true | Issue url |
| `description` | string | false | Description |
2015-08-26 23:58:49 +00:00
### Delete Redmine service
Delete Redmine service for a project.
```
DELETE /projects/:id/services/redmine
```
2015-09-03 13:38:54 +00:00
### Get Redmine service settings
Get Redmine service settings for a project.
```
GET /projects/:id/services/redmine
```
2016-11-25 19:36:37 +00:00
## Slack notifications
2015-08-26 23:58:49 +00:00
2016-11-25 19:36:37 +00:00
Receive event notifications in Slack
2015-08-26 23:58:49 +00:00
### Create/Edit Slack service
Set Slack service for a project.
```
PUT /projects/:id/services/slack
```
2017-12-20 17:35:58 +00:00
>**Note:** Specific event parameters (e.g. `push_events` flag and `push_channel` ) were [introduced in v10.4][11435]
2017-12-20 17:35:58 +00:00
Parameters:
2015-08-26 23:58:49 +00:00
2017-12-20 17:35:58 +00:00
| 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 | Send notifications only for the default branch |
| `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 |
| `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 |
| `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 |
2015-08-26 23:58:49 +00:00
### Delete Slack service
Delete Slack service for a project.
```
DELETE /projects/:id/services/slack
```
2015-09-03 13:38:54 +00:00
### Get Slack service settings
Get Slack service settings for a project.
```
GET /projects/:id/services/slack
```
2017-12-20 17:35:58 +00:00
## Microsoft Teams
Group Chat Software
### Create/Edit Microsoft Teams service
Set Microsoft Teams service for a project.
```
PUT /projects/:id/services/microsoft_teams
```
Parameters:
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `webhook` | string | true | The Microsoft Teams webhook. e.g. https://outlook.office.com/webhook/... |
### Delete Microsoft Teams service
Delete Microsoft Teams service for a project.
```
DELETE /projects/:id/services/microsoft_teams
```
### Get Microsoft Teams service settings
Get Microsoft Teams service settings for a project.
```
GET /projects/:id/services/microsoft_teams
```
2016-11-25 19:36:37 +00:00
## Mattermost notifications
Receive event notifications in Mattermost
### Create/Edit Mattermost notifications service
Set Mattermost service for a project.
```
PUT /projects/:id/services/mattermost
```
2017-12-20 17:35:58 +00:00
>**Note:** Specific event parameters (e.g. `push_events` flag and `push_channel` ) were [introduced in v10.4][11435]
2016-11-25 19:36:37 +00:00
2017-12-20 17:35:58 +00:00
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `webhook` | string | true | The Mattermost webhook. e.g. 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 | Send notifications only for the default branch |
| `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 |
| `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 |
| `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 |
2016-11-25 19:36:37 +00:00
### Delete Mattermost notifications service
Delete Mattermost Notifications service for a project.
```
DELETE /projects/:id/services/mattermost
```
### Get Mattermost notifications service settings
Get Mattermost notifications service settings for a project.
```
GET /projects/:id/services/mattermost
```
2015-08-26 23:58:49 +00:00
## JetBrains TeamCity CI
A continuous integration and build server
### Create/Edit JetBrains TeamCity CI service
Set JetBrains TeamCity CI service for a project.
> The build configuration in Teamcity must use the build format number %build.vcs.number% you will also want to configure monitoring of all branches so merge requests build, that setting is in the vsc root advanced settings.
```
PUT /projects/:id/services/teamcity
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `teamcity_url` | string | true | TeamCity root URL like https://teamcity.example.com |
| `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 |
2015-08-26 23:58:49 +00:00
### Delete JetBrains TeamCity CI service
Delete JetBrains TeamCity CI service for a project.
```
DELETE /projects/:id/services/teamcity
```
2015-09-03 13:38:54 +00:00
### Get JetBrains TeamCity CI service settings
Get JetBrains TeamCity CI service settings for a project.
```
GET /projects/:id/services/teamcity
```
2016-10-26 15:12:39 +00:00
2017-02-03 18:41:35 +00:00
[jira-doc]: ../user/project/integrations/jira.md
2016-11-22 17:31:34 +00:00
[old-jira-api]: https://gitlab.com/gitlab-org/gitlab-ce/blob/8-13-stable/doc/api/services.md#jira
2017-02-15 01:52:44 +00:00
## 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 service.
This service is only available when your environment is set to development.
### Create/Edit MockCI service
Set MockCI service for a project.
```
PUT /projects/:id/services/mock-ci
```
Parameters:
2017-12-20 17:35:58 +00:00
| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `mock_service_url` | string | true | http://localhost:4004 |
2017-02-15 01:52:44 +00:00
### Delete MockCI service
Delete MockCI service for a project.
```
DELETE /projects/:id/services/mock-ci
```
### Get MockCI service settings
Get MockCI service settings for a project.
```
GET /projects/:id/services/mock-ci
```
2017-12-20 17:35:58 +00:00
[11435]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11435