项目集成
- 层级:免费版、高级版、旗舰版
- 提供:GitLab.com、GitLab 自托管版、GitLab 专属版
本页包含项目集成的用户文档。有关管理员文档,请参阅 项目集成管理。
您可以与外部应用程序集成,为 GitLab 添加功能。
您可以查看和管理以下集成:
您可以使用:
管理项目集成的群组默认设置
前提条件:
- 您必须是群组的所有者。
要管理项目集成的群组默认设置:
- 在左侧边栏,选择 搜索或跳转至 并找到您的群组。
- 选择 设置 > 集成。
- 选择一个集成。
- 填写字段。
- 选择 保存更改。
这可能会影响属于该群组的所有或大多数子群组和项目。请查看下方的详细信息。
如果您是第一次为集成设置群组设置:
- 如果您在群组设置中开启了 启用集成 开关,那么所有尚未配置此集成的群组子群组和项目都将启用该集成。
- 已配置该集成的子群组和项目不受影响,但可以随时选择使用继承的设置。
当您对群组默认设置进行进一步更改时:
- 这些更改会立即应用于群组中所有已设置为使用默认设置的集成子群组和项目。
- 这些更改会立即应用于新的子群组和项目,包括您上次保存集成默认设置之后创建的。如果您的群组默认设置中 启用集成 开关已打开,则所有此类子群组和项目将自动启用该集成。
- 为集成选择了自定义设置的子群组和项目不会立即受到影响,但可以随时选择使用最新的默认设置。
如果为同一集成了配置了 实例设置,群组中的项目将从群组继承设置。
只能继承整个集成的设置。按字段继承的功能已在 epic 2137 中提出。
移除群组默认设置
前提条件:
- 您必须是群组的所有者。
要移除群组默认设置:
- 在左侧边栏,选择 搜索或跳转至 并找到您的群组。
- 选择 设置 > 集成。
- 选择一个集成。
- 选择 重置 并确认。
重置群组默认设置会移除使用默认设置且属于该群组项目或子群组的集成。
使用项目集成的实例或群组默认设置
前提条件:
- 您必须至少拥有项目的维护者角色。
要使用项目集成的实例或群组默认设置:
- 在左侧边栏,选择 搜索或跳转至 并找到您的项目。
- 选择 设置 > 集成。
- 选择一个集成。
- 在右侧的下拉列表中,选择 使用默认设置。
- 在 启用集成 下,确保选中 激活 复选框。
- 填写字段。
- 选择 保存更改。
使用项目或群集成的自定义设置
前提条件:
- 您必须至少拥有项目集成的维护者角色。
- 您必须拥有群集成的所有者角色。
要使用项目或群集成的自定义设置:
- 在左侧边栏,选择 搜索或跳转至 并找到您的项目或群组。
- 选择 设置 > 集成。
- 选择一个集成。
- 在右侧的下拉列表中,选择 使用自定义设置。
- 在 启用集成 下,确保选中 激活 复选框。
- 填写字段。
- 选择 保存更改。
可用集成
以下集成可能在 GitLab 实例上可用。 如果实例管理员配置了 集成允许列表,则只有这些集成可用。
CI/CD
| 集成 | 描述 | 集成钩子 |
|---|---|---|
| Atlassian Bamboo | 使用 Atlassian Bamboo 运行 CI/CD 管道。 | Yes |
| Buildkite | 使用 Buildkite 运行 CI/CD 管道。 | Yes |
| Drone | 使用 Drone 运行 CI/CD 管道。 | Yes |
| Jenkins | 使用 Jenkins 运行 CI/CD 管道。 | Yes |
| JetBrains TeamCity | 使用 TeamCity 运行 CI/CD 管道。 | Yes |
事件通知
| 集成 | 描述 | 集成钩子 |
|---|---|---|
| Campfire | 连接 Campfire 进行聊天。 | No |
| Discord Notifications | 将项目事件的通知发送到 Discord 频道。 | No |
| Google Chat | 将您的 GitLab 项目的通知发送到 Google Chat 的空间。 | No |
| irker (IRC gateway) | 将事件通知发送到 IRC 频道。 | No |
| Matrix notifications | 将项目事件的通知发送到 Matrix。 | No |
| Mattermost notifications | 将项目事件的通知发送到 Mattermost 频道。 | No |
| Microsoft Teams notifications | 将事件通知发送到 Microsoft Teams。 | No |
| Pumble | 将事件通知发送到 Pumble 频道。 | No |
| Pushover | 将事件通知发送到您的设备。 | No |
| Telegram | 将项目事件的通知发送到 Telegram。 | No |
| Unify Circuit | 将项目事件的通知发送到 Unify Circuit。 | No |
| Webex Teams | 将事件通知发送到 Webex Teams。 | No |
商店
| 集成 | 描述 | 集成钩子 |
|---|---|---|
| Apple App Store Connect | 使用 GitLab 在 Apple App Store 中构建和发布应用。 | No |
| Google Play | 使用 GitLab 在 Google Play 中构建和发布应用。 | No |
| Harbor | 使用 Harbor 作为 GitLab 的容器注册表。 | No |
| Packagist | 在 Packagist 中更新您的 PHP 依赖项。 | Yes |
外部问题跟踪器
以下集成会在您项目的左侧边栏中添加指向 外部问题跟踪器 的链接。
| 集成 | 描述 | 集成钩子 | 问题同步 | 可创建新问题 |
|---|---|---|---|---|
| Bugzilla | 使用 Bugzilla 作为问题跟踪器。 | No | No | Yes |
| ClickUp | 使用 ClickUp 作为问题跟踪器。 | No | No | No |
| Custom issue tracker | 使用自定义问题跟踪器。 | No | No | No |
| Engineering Workflow Management (EWM) | 使用 EWM 作为问题跟踪器。 | No | No | Yes |
| Linear | 使用 Linear 作为问题跟踪器。 | No | No | No |
| Phorge | 使用 Phorge 作为问题跟踪器。 | No | No | Yes |
| Redmine | 使用 Redmine 作为问题跟踪器。 | No | No | Yes |
| YouTrack | 使用 JetBrains YouTrack 作为您项目的问题跟踪器。 | No | Yes | No |
外部维基
以下集成会在您项目的左侧边栏中添加指向外部维基的链接。
| 集成 | 描述 | 集成钩子 |
|---|---|---|
| Confluence Workspace | 使用 Confluence Cloud Workspace 作为内部维基。 | No |
| External wiki | 链接外部维基。 | No |
其他
| 集成 | 描述 | 集成钩子 |
|---|---|---|
| Asana | 将提交消息作为评论添加到 Asana 任务。 | No |
| Assembla | 使用 Assembla 管理项目。 | No |
| Beyond Identity | 验证 GPG 密钥是否由 Beyond Identity Authenticator 授权。 | No |
| Datadog | 使用 Datadog 追踪您的 GitLab 管道。 | Yes |
| Diffblue Cover | 自动编写全面、类人的 Java 单元测试。 | No |
| Emails on push | 通过电子邮件发送推送时的提交和差异。 | No |
| GitGuardian | 根据 GitGuardian 策略拒绝提交。 | No |
| GitHub | 接收提交和拉取请求的状态。 | No |
| GitLab for Slack app | 使用原生的 Slack 应用接收通知和运行命令。 | No |
| Google Artifact Management | 在 Google Artifact Registry 中管理您的制品。 | No |
| Google Cloud IAM | 使用身份和访问管理 (IAM) 管理 Google Cloud 资源的权限。 | No |
| Jira | 使用 Jira 作为问题跟踪器。 | No |
| Mattermost slash commands | 从 Mattermost 聊天环境运行斜杠命令。 | No |
| Pipeline status emails | 通过电子邮件将管道状态发送给收件人列表。 | No |
| Pivotal Tracker | 将提交消息作为评论添加到 Pivotal Tracker 故事。 | No |
| Slack slash commands | 从 Slack 聊天环境运行斜杠命令。 | No |
| Squash TM | 当 GitLab 问题被修改时,更新 Squash TM 需求。 | Yes |
项目 Webhook
一些集成使用 webhook 与外部应用程序通信。
您可以配置项目 webhook 来监听特定事件,如推送、问题或合并请求。当 webhook 被触发时,GitLab 会将数据通过 POST 请求发送到指定的 webhook URL。
有关使用 webhook 的集成列表,请参阅 可用集成。
Push Hook 限制
如果单次推送包含对超过三个分支或标签的更改,则不会执行由 push_hooks 和 tag_push_hooks 事件支持的集成。
要更改支持的分支或标签数量,请配置 push_event_hooks_limit 设置。
SSL 验证
默认情况下,出站 HTTP 请求的 SSL 证书会根据内部的证书颁发机构列表进行验证。SSL 证书不能是自签名的。
在配置 webhook 和某些集成时,您可以禁用 SSL 验证。