Project services

Project services allow you to integrate GitLab with other applications. They are a bit like plugins in that they allow a lot of freedom in adding functionality to GitLab.

Accessing the project services

You can find the available services under your project’s Settings ➔ Integrations page.

There are more than 20 services to integrate with. Click on the one that you want to configure.

Project services list

Below, you will find a list of the currently supported ones accompanied with comprehensive documentation.

Services

Click on the service links to see further configuration instructions and details.

ServiceDescriptionService Hooks
AsanaAsana - Teamwork without emailNo
AssemblaProject Management Software (Source Commits Endpoint)No
Atlassian Bamboo CIA continuous integration and build serverYes
BuildkiteContinuous integration and deploymentsYes
BugzillaBugzilla issue trackerNo
CampfireSimple web-based real-time group chatNo
Custom Issue TrackerCustom issue trackerNo
Discord NotificationsReceive event notifications in DiscordNo
Drone CIContinuous Integration platform built on Docker, written in GoYes
Emails on pushEmail the commits and diff of each push to a list of recipientsNo
External WikiReplaces the link to the internal wiki with a link to an external wikiNo
FlowdockFlowdock is a collaboration web app for technical teamsNo
Generic alerts Receive alerts on GitLab from any sourceNo
GitHub Sends pipeline notifications to GitHubNo
Hangouts ChatReceive events notifications in Google Hangouts ChatNo
HipChatPrivate group chat and IMNo
Irker (IRC gateway)Send IRC messages, on update, to a list of recipients through an Irker gatewayNo
JiraJira issue trackerNo
Jenkins An extendable open source continuous integration serverYes
JetBrains TeamCity CIA continuous integration and build serverYes
Mattermost slash commandsMattermost chat and ChatOps slash commandsNo
Mattermost NotificationsReceive event notifications in MattermostNo
Microsoft teamsReceive notifications for actions that happen on GitLab into a room on Microsoft Teams using Office 365 ConnectorsNo
PackagistUpdate your project on Packagist, the main Composer repositoryYes
Pipelines emailsEmail the pipeline status to a list of recipientsNo
Slack NotificationsSend GitLab events (e.g. issue created) to Slack as notificationsNo
Slack slash commands Use slash commands in Slack to control GitLabNo
GitLab Slack application Use Slack’s official applicationNo
PivotalTrackerProject Management Software (Source Commits Endpoint)No
PrometheusMonitor the performance of your deployed appsNo
PushoverPushover makes it easy to get real-time notifications on your Android device, iPhone, iPad, and DesktopNo
RedmineRedmine issue trackerNo
Unify CircuitReceive events notifications in Unify CircuitNo
YouTrackYouTrack issue trackerNo

Push hooks limit

Introduced in GitLab 12.4.

If a single push includes changes to more than three branches or tags, services supported by push_hooks and tag_push_hooks events won’t be executed.

The number of branches or tags supported can be changed via push_event_hooks_limit application setting.

Services templates

Services templates is a way to set some predefined values in the Service of your liking which will then be pre-filled on each project’s Service.

Read more about Services templates in this document.

Troubleshooting project services

Some project services use service hooks for integration with external applications. To confirm which ones use service hooks, see the services table. GitLab stores details of service hook requests made within the last 2 days. To view details of the requests, go to the service’s configuration page.

The Recent Deliveries section lists the details of each request made within the last 2 days:

  • HTTP status code (green for 200-299 codes, red for the others, internal error for failed deliveries)
  • Triggered event
  • URL to which the request was sent
  • Elapsed time of the request
  • Relative time in which the request was made

To view more information about the request’s execution, click the respective View details link. On the details page, you can see the data sent by GitLab (request headers and body) and the data received by GitLab (response headers and body).

From this page, you can repeat delivery with the same data by clicking Resend Request.

Recent deliveries

Contributing to project services

Because GitLab is open source we can ship with the code and tests for all plugins. This allows the community to keep the plugins up to date so that they always work in newer GitLab versions.

For an overview of what projects services are available, please see the project_services source directory.

Contributions are welcome!