Integrations (FREE)

Integrations 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 integrations

To find the available integrations for your project:

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

There are more than 20 integrations to integrate with. Select the one that you want to configure.

Integrations listing

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

Service Description Service hooks
Asana Add commit messages as comments to Asana tasks. {dotted-circle} No
Assembla Manage projects. {dotted-circle} No
Atlassian Bamboo CI Run CI/CD pipelines with Atlassian Bamboo. {check-circle} Yes
Bugzilla Use Bugzilla as the issue tracker. {dotted-circle} No
Buildkite Run CI/CD pipelines with Buildkite. {check-circle} Yes
Campfire Connect to chat. {dotted-circle} No
Confluence Workspace Replace the link to the internal wiki with a link to a Confluence Cloud Workspace. {dotted-circle} No
Custom issue tracker Use a custom issue tracker. {dotted-circle} No
Datadog Trace your GitLab pipelines with Datadog. {check-circle} Yes
Discord Notifications Send notifications about project events to a Discord channel. {dotted-circle} No
Drone CI Run CI/CD pipelines with Drone. {check-circle} Yes
Emails on push Send commits and diff of each push by email. {dotted-circle} No
EWM Use IBM Engineering Workflow Management as the issue tracker. {dotted-circle} No
External wiki Link an external wiki. {dotted-circle} No
Flowdock Send notifications from GitLab to Flowdock flows. {dotted-circle} No
GitHub Obtain statuses for commits and pull requests. {dotted-circle} No
Google Chat Send notifications from your GitLab project to a room in Google Chat. {dotted-circle} No
irker (IRC gateway) Send IRC messages. {dotted-circle} No
Jenkins Run CI/CD pipelines with Jenkins. {check-circle} Yes
JetBrains TeamCity CI Run CI/CD pipelines with TeamCity. {check-circle} Yes
Jira Use Jira as the issue tracker. {dotted-circle} No
Mattermost notifications Send notifications about project events to Mattermost channels. {dotted-circle} No
Mattermost slash commands Perform common tasks with slash commands. {dotted-circle} No
Microsoft Teams notifications Receive event notifications. {dotted-circle} No
Packagist Keep your PHP dependencies updated on Packagist. {check-circle} Yes
Pipelines emails Send the pipeline status to a list of recipients by email. {dotted-circle} No
Pivotal Tracker Add commit messages as comments to Pivotal Tracker stories. {dotted-circle} No
Prometheus Monitor application metrics. {dotted-circle} No
Pushover Get real-time notifications on your device. {dotted-circle} No
Redmine Use Redmine as the issue tracker. {dotted-circle} No
Slack application Use Slack's official GitLab application. {dotted-circle} No
Slack notifications Send notifications about project events to Slack. {dotted-circle} No
Slack slash commands Enable slash commands in workspace. {dotted-circle} No
Unify Circuit Send notifications about project events to Unify Circuit. {dotted-circle} No
Webex Teams Receive events notifications. {dotted-circle} No
YouTrack Use YouTrack as the issue tracker. {dotted-circle} No

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 aren't executed.

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

Project integration management

Project integration management lets you control integration settings across all projects of an instance. On the project level, administrators you can choose whether to inherit the instance configuration or provide custom settings.

Read more about Project integration management.

Troubleshooting integrations

Some integrations use service hooks for integration with external applications. To confirm which ones use service hooks, see the integrations listing above. Learn more about troubleshooting service hooks.

Uninitialized repositories

Some integrations fail with an error Test Failed. Save Anyway when you attempt to set them up on uninitialized repositories. Some integrations use push data to build the test payload, and this error occurs when no push events exist in the project yet.

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

Contributing to integrations

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 integrations are available, please see the integrations source directory.

Contributions are welcome!