Project integrations

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

This page contains user documentation for project integrations. For administrator documentation, see Project integration administration.

You can integrate with external applications to add functionality to GitLab.

You can view and manage integrations for the:

You can use:

Manage group default settings for a project integration

Prerequisites:

  • You must have the Owner role for the group.

To manage the group default settings for a project integration:

  1. On the left sidebar, select Search or go to and find your group. If you’ve turned on the new navigation, this field is on the top bar.
  2. Select Settings > Integrations.
  3. Select an integration.
  4. Complete the fields.
  5. Select Save changes.

This may affect all or most of the subgroups and projects belonging to the group. Review the details below.

If this is the first time you are setting up group settings for an integration:

  • The integration is enabled for all subgroups and projects belonging to the group that don’t already have this integration configured, if you have the Enable integration toggle turned on in the group settings.
  • Subgroups and projects that already have the integration configured are not affected, but can choose to use the inherited settings at any time.

When you make further changes to the group defaults:

  • They are immediately applied to all subgroups and projects belonging to the group that have the integration set to use default settings.
  • They are immediately applied to newer subgroups and projects, even those created after you last saved defaults for the integration. If your group default setting has the Enable integration toggle turned on, the integration is automatically enabled for all such subgroups and projects.
  • Subgroups and projects with custom settings selected for the integration are not immediately affected and may choose to use the latest defaults at any time.

If instance settings have also been configured for the same integration, projects in the group inherit settings from the group.

Only the entire settings for an integration can be inherited. Per-field inheritance is proposed in epic 2137.

Remove a group default setting

Prerequisites:

  • You must have the Owner role for the group.

To remove a group default setting:

  1. On the left sidebar, select Search or go to and find your group. If you’ve turned on the new navigation, this field is on the top bar.
  2. Select Settings > Integrations.
  3. Select an integration.
  4. Select Reset and confirm.

Resetting a group default setting removes integrations that use default settings and belong to a project or subgroup of the group.

Use instance or group default settings for a project integration

Prerequisites:

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

To use instance or group default settings for a project integration:

  1. On the left sidebar, select Search or go to and find your project. If you’ve turned on the new navigation, this field is on the top bar.
  2. Select Settings > Integrations.
  3. Select an integration.
  4. On the right, from the dropdown list, select Use default settings.
  5. Under Enable integration, ensure the Active checkbox is selected.
  6. Complete the fields.
  7. Select Save changes.

Use custom settings for a project or group integration

Prerequisites:

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

To use custom settings for a project or group integration:

  1. On the left sidebar, select Search or go to and find your project or group. If you’ve turned on the new navigation, this field is on the top bar.
  2. Select Settings > Integrations.
  3. Select an integration.
  4. On the right, from the dropdown list, select Use custom settings.
  5. Under Enable integration, ensure the Active checkbox is selected.
  6. Complete the fields.
  7. Select Save changes.

Available integrations

The following integrations can be available on a GitLab instance. If an instance administrator has configured an integration allowlist, only those integrations are available.

CI/CD

IntegrationDescriptionIntegration hooks
Atlassian BambooRun CI/CD pipelines with Atlassian Bamboo.check-sm
BuildkiteRun CI/CD pipelines with Buildkite.check-sm
DroneRun CI/CD pipelines with Drone.check-sm
JenkinsRun CI/CD pipelines with Jenkins.check-sm
JetBrains TeamCityRun CI/CD pipelines with TeamCity.check-sm

Event notifications

None of these integrations have integration hooks.

IntegrationDescription
CampfireConnect Campfire to chat.
Discord NotificationsSend notifications about project events to a Discord channel.
Google ChatSend notifications from your GitLab project to a space in Google Chat.
irker (IRC gateway)Send event notifications to IRC channels.
Matrix notificationsSend notifications about project events to Matrix.
Mattermost notificationsSend notifications about project events to Mattermost channels.
Microsoft Teams notificationsSend event notifications to Microsoft Teams.
PumbleSend event notifications to a Pumble channel.
PushoverSend event notifications to your device.
TelegramSend notifications about project events to Telegram.
Unify CircuitSend notifications about project events to Unify Circuit.
Webex TeamsSend event notifications to Webex Teams.

Stores

IntegrationDescriptionIntegration hooks
Apple App Store ConnectUse GitLab to build and release an app in the Apple App Store.No
Google PlayUse GitLab to build and release an app in Google Play.No
HarborUse Harbor as the container registry for GitLab.No
PackagistUpdate your PHP dependencies in Packagist.check-sm

External issue trackers

The following integrations add links to external issue trackers on the left sidebar in your project. None of these integrations have integration hooks.

IntegrationDescriptionIssue syncCan create new issues
BugzillaUse Bugzilla as an issue tracker.Nocheck-sm
ClickUpUse ClickUp as an issue tracker.NoNo
Custom issue trackerUse a custom issue tracker.NoNo
Engineering Workflow Management (EWM)Use EWM as an issue tracker.Nocheck-sm
LinearUse Linear as an issue tracker.NoNo
PhorgeUse Phorge as an issue tracker.Nocheck-sm
RedmineUse Redmine as an issue tracker.Nocheck-sm
YouTrackUse JetBrains YouTrack as your project’s issue tracker.check-smNo

External wikis

The following integrations add links to external wikis on the left sidebar in your project. None of these integrations have integration hooks.

IntegrationDescription
Confluence WorkspaceUse Confluence Cloud Workspace as an internal wiki.
External wikiLink an external wiki.

Other

IntegrationDescriptionIntegration hooks
AsanaAdd commit messages as comments to Asana tasks.No
AssemblaManage projects with Assembla.No
Beyond IdentityVerify that GPG keys are authorized by Beyond Identity Authenticator.No
DatadogTrace your GitLab pipelines with Datadog.check-sm
Diffblue CoverAutomatically write comprehensive, human-like Java unit tests.check-sm
Emails on pushSend commits and diffs on push by email.No
GitGuardianReject commits based on GitGuardian policies.No
GitHubReceive statuses for commits and pull requests.No
GitLab for Slack appUse the native Slack app to receive notifications and run commands.No
Google Artifact ManagementManage your artifacts in Google Artifact Registry.No
Google Cloud IAMManage permissions for Google Cloud resources with Identity and Access Management (IAM).No
JiraUse Jira as an issue tracker.No
Mattermost slash commandsRun slash commands from a Mattermost chat environment.No
Pipeline status emailsSend the pipeline status to a list of recipients by email.No
Pivotal TrackerAdd commit messages as comments to Pivotal Tracker stories.No
Slack slash commandsRun slash commands from a Slack chat environment.No
Squash TMUpdate Squash TM requirements when GitLab issues are modified.check-sm

Project webhooks

Some integrations use webhooks for external applications.

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.

For a list of integrations that use webhooks, see Available integrations.

Push hook limit

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

To change the number of supported branches or tags, configure the push_event_hooks_limit setting.

SSL verification

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

You can disable SSL verification when you configure webhooks and some integrations.