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