- List all active integrations
- Asana
- Assembla
- Bugzilla
- Webex Teams
- Discord
- Confluence integration
- Google Chat
- Jira
- Slack Slash Commands
- Pivotal Tracker
- Prometheus
- Pushover
- Redmine
- Slack notifications
- Microsoft Teams
Integrations API
This API enables you to work with external services that integrate with WVS.
/projects/:id/services
and /projects/:id/integrations
.
The examples in this document refer to the endpoint at /projects/:id/integrations
.This API requires an access token with the Maintainer or Owner role.
List all active integrations
Get a list of all active project integrations.
GET /projects/:id/integrations
Example response:
[
{
"id": 75,
"title": "Jenkins CI",
"slug": "jenkins",
"created_at": "2019-11-20T11:20:25.297Z",
"updated_at": "2019-11-20T12:24:37.498Z",
"active": true,
"commit_events": true,
"push_events": true,
"issues_events": true,
"confidential_issues_events": true,
"merge_requests_events": true,
"tag_push_events": false,
"note_events": true,
"confidential_note_events": true,
"pipeline_events": true,
"wiki_page_events": true,
"job_events": true,
"comment_on_event_enabled": true
},
{
"id": 76,
"title": "Alerts endpoint",
"slug": "alerts",
"created_at": "2019-11-20T11:20:25.297Z",
"updated_at": "2019-11-20T12:24:37.498Z",
"active": true,
"commit_events": true,
"push_events": true,
"issues_events": true,
"confidential_issues_events": true,
"merge_requests_events": true,
"tag_push_events": true,
"note_events": true,
"confidential_note_events": true,
"pipeline_events": true,
"wiki_page_events": true,
"job_events": true,
"comment_on_event_enabled": true
}
]
Asana
Add commit messages as comments to Asana tasks.
See also the Asana integration documentation.
Create/Edit Asana integration
Set Asana integration for a project.
PUT /projects/:id/integrations/asana
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
api_key
| string | true | User API token. User must have access to task. All comments are attributed to this user. |
restrict_to_branch
| string | false | Comma-separated list of branches to be are automatically inspected. Leave blank to include all branches. |
push_events
| boolean | false | Enable notifications for push events |
Disable Asana integration
Disable the Asana integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/asana
Get Asana integration settings
Get Asana integration settings for a project.
GET /projects/:id/integrations/asana
Assembla
Project Management Software (Source Commits Endpoint)
Create/Edit Assembla integration
Set Assembla integration for a project.
PUT /projects/:id/integrations/assembla
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
token
| string | true | The authentication token |
subdomain
| string | false | The subdomain setting |
push_events
| boolean | false | Enable notifications for push events |
Disable Assembla integration
Disable the Assembla integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/assembla
Get Assembla integration settings
Get Assembla integration settings for a project.
GET /projects/:id/integrations/assembla
Bugzilla
Bugzilla Issue Tracker
Create/Edit Bugzilla integration
Set Bugzilla integration for a project.
PUT /projects/:id/integrations/bugzilla
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
new_issue_url
| string | true | New Issue URL |
issues_url
| string | true | Issue URL |
project_url
| string | true | Project URL |
description
| string | false | Description |
title
| string | false | Title |
push_events
| boolean | false | Enable notifications for push events |
Disable Bugzilla integration
Disable the Bugzilla integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/bugzilla
Get Bugzilla integration settings
Get Bugzilla integration settings for a project.
GET /projects/:id/integrations/bugzilla
Webex Teams
Webex Teams collaboration tool.
Create/Edit Webex Teams integration
Set Webex Teams integration for a project.
PUT /projects/:id/integrations/webex-teams
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
webhook
| string | true | The Webex Teams webhook. For example, https://api.ciscospark.com/v1/webhooks/incoming/... .
|
notify_only_broken_pipelines
| boolean | false | Send notifications for broken pipelines |
branches_to_be_notified
| string | false | Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default_and_protected”. The default value is “default” |
push_events
| boolean | false | Enable notifications for push events |
issues_events
| boolean | false | Enable notifications for issue events |
confidential_issues_events
| boolean | false | Enable notifications for confidential issue events |
merge_requests_events
| boolean | false | Enable notifications for merge request events |
tag_push_events
| boolean | false | Enable notifications for tag push events |
note_events
| boolean | false | Enable notifications for note events |
confidential_note_events
| boolean | false | Enable notifications for confidential note events |
pipeline_events
| boolean | false | Enable notifications for pipeline events |
wiki_page_events
| boolean | false | Enable notifications for wiki page events |
Disable Webex Teams integration
Disable the Webex Teams integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/webex-teams
Get Webex Teams integration settings
Get Webex Teams integration settings for a project.
GET /projects/:id/integrations/webex-teams
Discord
Send notifications about project events to a Discord channel.
Create/Edit Discord integration
Set Discord integration for a project.
PUT /projects/:id/integrations/discord
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
webhook
| string | true | Discord webhook. For example, https://discord.com/api/webhooks/…
|
Disable Discord integration
Disable the Discord integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/discord
Get Discord integration settings
Get Discord integration settings for a project.
GET /projects/:id/integrations/discord
Confluence integration
Replaces the link to the internal wiki with a link to a Confluence Cloud Workspace.
Create/Edit Confluence integration
Set Confluence integration for a project.
PUT /projects/:id/integrations/confluence
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
confluence_url
| string | true | The URL of the Confluence Cloud Workspace hosted on atlassian.net. |
Disable Confluence integration
Disable the Confluence integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/confluence
Get Confluence integration settings
Get Confluence integration settings for a project.
GET /projects/:id/integrations/confluence
Google Chat
Google Workspace team collaboration tool.
Create/Edit Google Chat integration
Set Google Chat integration for a project.
PUT /projects/:id/integrations/hangouts-chat
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
webhook
| string | true | The Google Chat webhook. For example, https://chat.googleapis.com/v1/spaces... .
|
notify_only_broken_pipelines
| boolean | false | Send notifications for broken pipelines |
notify_only_default_branch
| boolean | false | DEPRECATED: This parameter has been replaced with branches_to_be_notified
|
branches_to_be_notified
| string | false | Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default_and_protected”. The default value is “default” |
push_events
| boolean | false | Enable notifications for push events |
issues_events
| boolean | false | Enable notifications for issue events |
confidential_issues_events
| boolean | false | Enable notifications for confidential issue events |
merge_requests_events
| boolean | false | Enable notifications for merge request events |
tag_push_events
| boolean | false | Enable notifications for tag push events |
note_events
| boolean | false | Enable notifications for note events |
confidential_note_events
| boolean | false | Enable notifications for confidential note events |
pipeline_events
| boolean | false | Enable notifications for pipeline events |
wiki_page_events
| boolean | false | Enable notifications for wiki page events |
Disable Google Chat integration
Disable the Hangouts Chat integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/hangouts-chat
Get Google Chat integration settings
Get Google Chat integration settings for a project.
GET /projects/:id/integrations/hangouts-chat
Jira
Jira issue tracker.
Get Jira integration settings
Get Jira integration settings for a project.
GET /projects/:id/integrations/jira
Create/Edit Jira integration
Set Jira integration for a project.
PUT /projects/:id/integrations/jira
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
url
| string | yes | The URL to the Jira project which is being linked to this WVS project. For example, https://jira.example.com .
|
api_url
| string | no | The base URL to the Jira instance API. Web URL value is used if not set. For example, https://jira-api.example.com .
|
username
| string | yes | The username of the user created to be used with WVS/Jira. |
password
| string | yes | The password of the user created to be used with WVS/Jira. |
active
| boolean | no | Activates or deactivates the integration. Defaults to false (deactivated). |
jira_issue_transition_automatic
| boolean | no | Enable automatic issue transitions. Takes precedence over jira_issue_transition_id if enabled. Defaults to false
|
jira_issue_transition_id
| string | no | The ID of one or more transitions for custom issue transitions. Ignored if jira_issue_transition_automatic is enabled. Defaults to a blank string, which disables custom transitions.
|
commit_events
| boolean | false | Enable notifications for commit events |
merge_requests_events
| boolean | false | Enable notifications for merge request events |
comment_on_event_enabled
| boolean | false | Enable comments inside Jira issues on each WVS event (commit / merge request) |
Disable Jira integration
Disable the Jira integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/jira
Slack Slash Commands
Ability to receive slash commands from a Slack chat instance.
Get Slack Slash Command integration settings
Get Slack Slash Command integration settings for a project.
GET /projects/:id/integrations/slack-slash-commands
Example response:
{
"id": 4,
"title": "Slack slash commands",
"slug": "slack-slash-commands",
"created_at": "2017-06-27T05:51:39-07:00",
"updated_at": "2017-06-27T05:51:39-07:00",
"active": true,
"push_events": true,
"issues_events": true,
"confidential_issues_events": true,
"merge_requests_events": true,
"tag_push_events": true,
"note_events": true,
"job_events": true,
"pipeline_events": true,
"comment_on_event_enabled": false,
"properties": {
"token": "<your_access_token>"
}
}
Create/Edit Slack Slash Commands integration
Set Slack Slash Command for a project.
PUT /projects/:id/integrations/slack-slash-commands
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
token
| string | yes | The Slack token |
Disable Slack Slash Command integration
Disable the Slack Slash Command integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/slack-slash-commands
Pivotal Tracker
Add commit messages as comments to Pivotal Tracker stories.
See also the Pivotal Tracker integration documentation.
Create/Edit Pivotal Tracker integration
Set Pivotal Tracker integration for a project.
PUT /projects/:id/integrations/pivotaltracker
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
token
| string | true | The Pivotal Tracker token |
restrict_to_branch
| boolean | false | Comma-separated list of branches to automatically inspect. Leave blank to include all branches. |
push_events
| boolean | false | Enable notifications for push events |
Disable Pivotal Tracker integration
Disable the Pivotal Tracker integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/pivotaltracker
Get Pivotal Tracker integration settings
Get Pivotal Tracker integration settings for a project.
GET /projects/:id/integrations/pivotaltracker
Prometheus
Prometheus is a powerful time-series monitoring service.
Create/Edit Prometheus integration
Set Prometheus integration for a project.
PUT /projects/:id/integrations/prometheus
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
api_url
| string | true | Prometheus API Base URL. For example, http://prometheus.example.com/ .
|
google_iap_audience_client_id
| string | false | Client ID of the IAP secured resource (looks like IAP_CLIENT_ID.apps.googleusercontent.com) |
google_iap_service_account_json
| string | false |
credentials.json file for your service account, like { “type”: “service_account”, “project_id”: … }
|
Disable Prometheus integration
Disable the Prometheus integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/prometheus
Get Prometheus integration settings
Get Prometheus integration settings for a project.
GET /projects/:id/integrations/prometheus
Pushover
Pushover makes it easy to get real-time notifications on your Android device, iPhone, iPad, and Desktop.
Create/Edit Pushover integration
Set Pushover integration for a project.
PUT /projects/:id/integrations/pushover
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
api_key
| string | true | Your application key |
user_key
| string | true | Your user key |
priority
| string | true | The priority |
device
| string | false | Leave blank for all active devices |
sound
| string | false | The sound of the notification |
push_events
| boolean | false | Enable notifications for push events |
Disable Pushover integration
Disable the Pushover integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/pushover
Get Pushover integration settings
Get Pushover integration settings for a project.
GET /projects/:id/integrations/pushover
Redmine
Redmine issue tracker
Create/Edit Redmine integration
Set Redmine integration for a project.
PUT /projects/:id/integrations/redmine
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
new_issue_url
| string | true | New Issue URL |
project_url
| string | true | Project URL |
issues_url
| string | true | Issue URL |
description
| string | false | Description |
push_events
| boolean | false | Enable notifications for push events |
Disable Redmine integration
Disable the Redmine integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/redmine
Get Redmine integration settings
Get Redmine integration settings for a project.
GET /projects/:id/integrations/redmine
Slack notifications
Receive event notifications in Slack
Create/Edit Slack integration
Set Slack integration for a project.
PUT /projects/:id/integrations/slack
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
webhook
| string | true | https://hooks.slack.com/services/...
|
username
| string | false | username |
channel
| string | false | Default channel to use if others are not configured |
notify_only_broken_pipelines
| boolean | false | Send notifications for broken pipelines |
notify_only_default_branch
| boolean | false | DEPRECATED: This parameter has been replaced with branches_to_be_notified
|
branches_to_be_notified
| string | false | Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default_and_protected”. The default value is “default” |
commit_events
| boolean | false | Enable notifications for commit events |
confidential_issue_channel
| string | false | The name of the channel to receive confidential issues events notifications |
confidential_issues_events
| boolean | false | Enable notifications for confidential issue events |
confidential_note_channel
| string | false | The name of the channel to receive confidential note events notifications |
confidential_note_events
| boolean | false | Enable notifications for confidential note events |
deployment_channel
| string | false | The name of the channel to receive deployment events notifications |
deployment_events
| boolean | false | Enable notifications for deployment events |
issue_channel
| string | false | The name of the channel to receive issues events notifications |
issues_events
| boolean | false | Enable notifications for issue events |
job_events
| boolean | false | Enable notifications for job events |
merge_request_channel
| string | false | The name of the channel to receive merge request events notifications |
merge_requests_events
| boolean | false | Enable notifications for merge request events |
note_channel
| string | false | The name of the channel to receive note events notifications |
note_events
| boolean | false | Enable notifications for note events |
pipeline_channel
| string | false | The name of the channel to receive pipeline events notifications |
pipeline_events
| boolean | false | Enable notifications for pipeline events |
push_channel
| string | false | The name of the channel to receive push events notifications |
push_events
| boolean | false | Enable notifications for push events |
tag_push_channel
| string | false | The name of the channel to receive tag push events notifications |
tag_push_events
| boolean | false | Enable notifications for tag push events |
wiki_page_channel
| string | false | The name of the channel to receive wiki page events notifications |
wiki_page_events
| boolean | false | Enable notifications for wiki page events |
Disable Slack integration
Disable the Slack integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/slack
Get Slack integration settings
Get Slack integration settings for a project.
GET /projects/:id/integrations/slack
Microsoft Teams
Group Chat Software
Create/Edit Microsoft Teams integration
Set Microsoft Teams integration for a project.
PUT /projects/:id/integrations/microsoft-teams
Parameters:
Parameter | Type | Required | Description |
---|---|---|---|
webhook
| string | true | The Microsoft Teams webhook. For example, https://outlook.office.com/webhook/...
|
notify_only_broken_pipelines
| boolean | false | Send notifications for broken pipelines |
notify_only_default_branch
| boolean | false | DEPRECATED: This parameter has been replaced with branches_to_be_notified
|
branches_to_be_notified
| string | false | Branches to send notifications for. Valid options are “all”, “default”, “protected”, and “default_and_protected”. The default value is “default” |
push_events
| boolean | false | Enable notifications for push events |
issues_events
| boolean | false | Enable notifications for issue events |
confidential_issues_events
| boolean | false | Enable notifications for confidential issue events |
merge_requests_events
| boolean | false | Enable notifications for merge request events |
tag_push_events
| boolean | false | Enable notifications for tag push events |
note_events
| boolean | false | Enable notifications for note events |
confidential_note_events
| boolean | false | Enable notifications for confidential note events |
pipeline_events
| boolean | false | Enable notifications for pipeline events |
wiki_page_events
| boolean | false | Enable notifications for wiki page events |
Disable Microsoft Teams integration
Disable the Microsoft Teams integration for a project. Integration settings are preserved.
DELETE /projects/:id/integrations/microsoft-teams
Get Microsoft Teams integration settings
Get Microsoft Teams integration settings for a project.
GET /projects/:id/integrations/microsoft-teams