Project integrations

You can integrate your GitLab projects with other applications. Integrations are like plugins, and give you the freedom to add functionality to GitLab.

View project integrations

Prerequisites:

  • You must have at least the Maintainer role for the project.

To view the available integrations for your project:

  1. On the top bar, select Main menu > Projects and find your project.
  2. On the left sidebar, select Settings > Integrations.

You can also view and manage integration settings across all projects in an instance or group. For a single project, you can choose to inherit the instance or group configuration, or provide custom settings.

note
Instance and group-based integration management replaces service templates, which were removed in GitLab 14.0.

Manage SSL verification

By default, the SSL certificate for outgoing HTTP requests is verified based on an internal list of Certificate Authorities. This means the certificate cannot be self-signed.

You can turn off SSL verification in the configuration settings for webhooks and some integrations.

Available integrations

You can configure the following integrations.

IntegrationDescriptionIntegration hooks
AsanaAdd commit messages as comments to Asana tasks. No
AssemblaManage projects. No
Atlassian Bamboo CIRun CI/CD pipelines with Atlassian Bamboo. Yes
BugzillaUse Bugzilla as the issue tracker. No
BuildkiteRun CI/CD pipelines with Buildkite. Yes
CampfireConnect to chat. No
Confluence WorkspaceUse Confluence Cloud Workspace as an internal wiki. No
Custom issue trackerUse a custom issue tracker. No
DatadogTrace your GitLab pipelines with Datadog. Yes
Discord NotificationsSend notifications about project events to a Discord channel. No
Drone CIRun CI/CD pipelines with Drone. Yes
Emails on pushSend commits and diff of each push by email. No
EWMUse IBM Engineering Workflow Management as the issue tracker. No
External wikiLink an external wiki. No
FlowdockSend notifications from GitLab to Flowdock flows. No
GitHubObtain statuses for commits and pull requests. No
Google ChatSend notifications from your GitLab project to a room in Google Chat. No
HarborUse Harbor as the container registry. No
irker (IRC gateway)Send IRC messages. No
JenkinsRun CI/CD pipelines with Jenkins. Yes
JetBrains TeamCity CIRun CI/CD pipelines with TeamCity. Yes
JiraUse Jira as the issue tracker. No
Mattermost notificationsSend notifications about project events to Mattermost channels. No
Mattermost slash commandsPerform common tasks with slash commands. No
Microsoft Teams notificationsReceive event notifications. No
PackagistKeep your PHP dependencies updated on Packagist. Yes
Pipelines emailsSend the pipeline status to a list of recipients by email. No
Pivotal TrackerAdd commit messages as comments to Pivotal Tracker stories. No
PrometheusMonitor application metrics. No
PumbleSend event notifications to a Pumble channel. No
PushoverGet real-time notifications on your device. No
RedmineUse Redmine as the issue tracker. No
Shimo WorkspaceUse Shimo instead of the GitLab Wiki. No
Slack applicationUse Slack’s official GitLab application. No
Slack notificationsSend notifications about project events to Slack. No
Slack slash commandsEnable slash commands in a workspace. No
Unify CircuitSend notifications about project events to Unify Circuit. No
Webex TeamsReceive events notifications. No
YouTrackUse YouTrack as the issue tracker. No
ZenTaoUse ZenTao as the issue tracker. No

Project webhooks

You can configure a project webhook to listen for specific events like pushes, issues, or merge requests. When the webhook is triggered, GitLab sends a POST request with data to a specified webhook URL.

Learn more about webhooks.

Push hooks limit

Introduced in GitLab 12.4.

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

You can change the number of supported branches or tags by changing the push_event_hooks_limit application setting.

Troubleshooting integrations

Some integrations use hooks to integrate with external applications. To confirm which ones use integration hooks, see the available integrations. Learn more about troubleshooting integration hooks.

Test Failed. Save Anyway error

Some integrations fail with an error Test Failed. Save Anyway when you set them up on uninitialized repositories. This error occurs because the integration uses push data to build the test payload, and there are no push events in the project.

To resolve this error, initialize the repository by pushing a test file to the project and set up the integration again.

Contribute to integrations

To add a new integration, see the Integrations development guide.