doc/user/project/integrations/_index.md
{{< details >}}
{{< /details >}}
[!note] 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:
Prerequisites:
To manage the group default settings for a project integration:
[!warning] 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:
When you make further changes to the group defaults:
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.
Prerequisites:
To remove a group default setting:
Resetting a group default setting removes integrations that use default settings and belong to a project or subgroup of the group.
Prerequisites:
To use instance or group default settings for a project integration:
Prerequisites:
To use custom settings for a project or group integration:
The following integrations can be available on a GitLab instance. If an instance administrator has configured an integration allowlist, only those integrations are available.
| Integration | Description | Integration hooks |
|---|---|---|
| Atlassian Bamboo | Run CI/CD pipelines with Atlassian Bamboo. | {{< yes >}} |
| Buildkite | Run CI/CD pipelines with Buildkite. | {{< yes >}} |
| Drone | Run CI/CD pipelines with Drone. | {{< yes >}} |
| Jenkins | Run CI/CD pipelines with Jenkins. | {{< yes >}} |
| JetBrains TeamCity | Run CI/CD pipelines with TeamCity. | {{< yes >}} |
None of these integrations have integration hooks.
| Integration | Description |
|---|---|
| Campfire | Connect Campfire to chat. |
| Discord Notifications | Send notifications about project events to a Discord channel. |
| Google Chat | Send notifications from your GitLab project to a space in Google Chat. |
| irker (IRC gateway) | Send event notifications to IRC channels. |
| Matrix notifications | Send notifications about project events to Matrix. |
| Mattermost notifications | Send notifications about project events to Mattermost channels. |
| Microsoft Teams notifications | Send event notifications to Microsoft Teams. |
| Pumble | Send event notifications to a Pumble channel. |
| Pushover | Send event notifications to your device. |
| Telegram | Send notifications about project events to Telegram. |
| Unify Circuit | Send notifications about project events to Unify Circuit. |
| Webex Teams | Send event notifications to Webex Teams. |
| Integration | Description | Integration hooks |
|---|---|---|
| Apple App Store Connect | Use GitLab to build and release an app in the Apple App Store. | {{< no >}} |
| Google Play | Use GitLab to build and release an app in Google Play. | {{< no >}} |
| Harbor | Use Harbor as the container registry for GitLab. | {{< no >}} |
| Packagist | Update your PHP dependencies in Packagist. | {{< yes >}} |
The following integrations add links to external issue trackers in the left sidebar in your project. None of these integrations have integration hooks.
| Integration | Description | Issue sync | Can create new issues |
|---|---|---|---|
| Bugzilla | Use Bugzilla as an issue tracker. | {{< no >}} | {{< yes >}} |
| ClickUp | Use ClickUp as an issue tracker. | {{< no >}} | {{< no >}} |
| Custom issue tracker | Use a custom issue tracker. | {{< no >}} | {{< no >}} |
| Engineering Workflow Management (EWM) | Use EWM as an issue tracker. | {{< no >}} | {{< yes >}} |
| Linear | Use Linear as an issue tracker. | {{< no >}} | {{< no >}} |
| Phorge | Use Phorge as an issue tracker. | {{< no >}} | {{< yes >}} |
| Redmine | Use Redmine as an issue tracker. | {{< no >}} | {{< yes >}} |
| YouTrack | Use JetBrains YouTrack as your project's issue tracker. | {{< yes >}} | {{< no >}} |
The following integrations add links to external wikis in the left sidebar in your project. None of these integrations have integration hooks.
| Integration | Description |
|---|---|
| Confluence Workspace | Use Confluence Cloud Workspace as an internal wiki. |
| External wiki | Link an external wiki. |
| Integration | Description | Integration hooks |
|---|---|---|
| Asana | Add commit messages as comments to Asana tasks. | {{< no >}} |
| Assembla | Manage projects with Assembla. | {{< no >}} |
| Beyond Identity | Verify that GPG keys are authorized by Beyond Identity Authenticator. | {{< no >}} |
| Datadog | Trace your GitLab pipelines with Datadog. | {{< yes >}} |
| Diffblue Cover | Automatically write comprehensive, human-like Java unit tests. | {{< yes >}} |
| Emails on push | Send commits and diffs on push by email. | {{< no >}} |
| GitGuardian | Reject commits based on GitGuardian policies. | {{< no >}} |
| GitHub | Receive statuses for commits and pull requests. | {{< no >}} |
| GitLab for Slack app | Use the native Slack app to receive notifications and run commands. | {{< no >}} |
| Google Artifact Management | Manage your artifacts in Google Artifact Registry. | {{< no >}} |
| Google Cloud IAM | Manage permissions for Google Cloud resources with Identity and Access Management (IAM). | {{< no >}} |
| Jira | Use Jira as an issue tracker. | {{< no >}} |
| Mattermost slash commands | Run slash commands from a Mattermost chat environment. | {{< no >}} |
| Pipeline status emails | Send the pipeline status to a list of recipients by email. | {{< no >}} |
| Pivotal Tracker | Add commit messages as comments to Pivotal Tracker stories. | {{< no >}} |
| Slack slash commands | Run slash commands from a Slack chat environment. | {{< no >}} |
| Squash TM | Update Squash TM requirements when GitLab issues are modified. | {{< yes >}} |
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.
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.
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.