GitLab for Slack app

  • 私有化部署的支持引入于极狐GitLab 16.2。
note 此页面包含项目集成的用户文档。对于管理员文档,可查看项目集成管理

极狐GitLab Slack app 是一个原生的 Slack app 以在您的 Slack 工作空间中提供斜杠命令通知。极狐GitLab Slack app 将您的 Slack 用户与您的极狐GitLab 用户链接,因此您在 Slack 中运行的任何命令都是由您的链接极狐GitLab 用户运行的。

安装极狐GitLab Slack app

先决条件:

在极狐GitLab 15.0 及更高版本中,GitLab for Slack app 使用细粒度权限。尽管功能没有改变,您应该重新安装应用程序

从项目或群组设置

  • 在群组顶级安装引入于极狐GitLab 16.10,使用名为 gitlab_for_slack_app_instance_and_group_level 的功能标志。默认禁用。
  • 在极狐GitLab 16.11 中为私有化部署和 JihuLab.com 启用。
在私有化部署的极狐GitLab 上,此功能默认可用。要隐藏此功能,管理员可以禁用功能标志 gitlab_for_slack_app_instance_and_group_level

要从项目或群组设置安装 GitLab for Slack app:

  1. 在左侧边栏中,选择 搜索或前往 并找到您的项目或群组。
  2. 选择 设置 > Integrations
  3. 选择 GitLab for Slack app
  4. 选择 安装 GitLab for Slack app
  5. 在 Slack 确认页面上,选择 允许

重新安装极狐GitLab Slack app

当极狐GitLab 发布了关于 GitLab Slack app 的新功能,您可能需要重新安装应用程序才能使用这些功能。

要重新安装 GitLab for Slack app:

  1. 在左侧边栏中,选择 搜索或前往 并找到您的项目。
  2. 选择 设置 > 集成
  3. 选择 GitLab for Slack app
  4. 选择 重新安装 GitLab for Slack app
  5. 在 Slack 确认页面上,选择 允许

GitLab for Slack app 会更新所有使用集成的项目。

或者,您可以重新配置集成

斜杠命令

您可以使用斜杆命令来运行 GitLab 的常见操作。

对于 GitLab for Slack app:

  • 您必须在运行第一个斜杆命令时授权您的 Slack 用户。
  • 您可以将 <project> 替换为项目全路径或为斜杆命令创建项目别名

如果您在使用 Slack 斜杆命令Mattermost 斜杆命令 代替:

  • /gitlab 替换为您为这些集成配置的触发器名称。
  • 删除 <project>

可用的斜杠命令有:

命令 描述
/gitlab help 显示所有可用的斜杠命令。
/gitlab <project> issue show <id> 显示议题 ID <id>
/gitlab <project> issue new <title> Shift+Enter <description> 创建议题主题 <title> 和描述 <description>
/gitlab <project> issue search <query> 显示 5 个匹配 <query> 的议题。
/gitlab <project> issue move <id> to <project> 将 ID <id> 的议题移动到 <project>
/gitlab <project> issue close <id> 关闭 <id> 的议题。
/gitlab <project> issue comment <id> Shift+Enter <comment> 将评论内容为 <comment> 的评论添加到 ID 为 <id> 的问题中。
/gitlab <project> deploy <from> to <to> Deploys from the <from> environment to the <to> environment.
/gitlab <project> run <job name> <arguments> Executes the ChatOps job <job name> on the default branch.
/gitlab incident declare Opens a dialog to create an incident from Slack.

deploy 命令

要部署到环境,极狐GitLab 尝试在流水线中找到手动部署操作。

如果只有一个部署操作为环境定义,则触发该操作。如果多个部署操作为环境定义,极狐GitLab 尝试找到与环境名称匹配的操作名称。

如果极狐GitLab 无法找到匹配的部署操作,则返回错误。

创建项目别名

在 GitLab Slack app 时,斜杠命令默认使用项目的完整路径。您可以使用项目别名代替。

要为 GitLab for Slack 应用程序中的斜杠命令创建项目别名:

  1. 在左侧边栏中,选择 搜索或前往 并找到您的项目。
  2. 选择 设置 > 集成
  3. 选择 GitLab for Slack app
  4. 在项目路径或别名旁边,选择 编辑
  5. 输入新别名并选择 保存更改

Slack 通知

  • 引入于极狐GitLab 15.9。

您可以在 GitLab for Slack 应用程序中配置通知。

配置通知

要配置 Slack 通知:

  1. 在左侧边栏中,选择 搜索或前往 并找到您的项目。
  2. 选择 设置 > 集成
  3. 选择 GitLab for Slack app
  4. 触发 部分:
    • 选择您希望在 Slack 中接收通知的每个 GitLab 事件的复选框。
    • 对于每个选中的复选框,输入您希望接收通知的 Slack 频道的名称。您可以输入最多 10 个用逗号分隔的频道名称(例如,#channel-one, #channel-two)。
    note 如果 Slack 频道是私有的,您必须将 GitLab for Slack 应用程序添加到该频道
  5. 可选。在 通知设置 部分:
    • 选择 仅通知中断的管道 复选框,仅接收失败管道的通知。
    • 发送通知的分支 下拉列表中,选择您希望接收通知的分支。通知仅由默认分支触发,无论选择的分支如何。
    • 对于 要通知的标签,输入 GitLab 问题、合并请求或评论必须具有的任何或所有标签,以接收通知。留空以接收所有事件的通知。
  6. 可选。选择 测试设置
  7. 选择 保存更改

私有频道接受通知

要在私有频道中接收通知,必须将 GitLab for Slack 应用程序添加到该频道:

  1. 在频道中提及应用程序,输入 @GitLab
  2. 选择 添加到频道

通知事件

以下极狐GitLab 事件可以触发 Slack 通知:

事件 描述
推送 推送到代码仓库。
议题 议题的创建、关闭或重启。
机密议题 机密议题的创建、关闭或重启。
合并请求 合并请求的创建、合并、关闭或重启。
注释 注释的添加。
机密注释 在机密议题上添加的内部注释或评论。
标签推送 推送到仓库的标签或移除。
流水线 流水线状态变更。
Wiki 页面 创建或更新 wiki 页面。
部署 部署开始或完成。
公共项目的群组评论 公共频道中提及群组。
私有项目的群组评论 私有频道中提及群组。
事件 事件的创建、关闭或重新打开。
漏洞 在默认分支上记录一个新的、唯一的漏洞。
警报 记录一个新的、唯一的警报。

为群组评论触发通知

  • 在群组顶级安装引入于极狐GitLab 16.10,使用名为 gitlab_for_slack_app_instance_and_group_level 的功能标志。默认禁用。
  • 在极狐GitLab 16.11 中为私有化部署和 JihuLab.com 启用。
在私有化部署上,此功能默认可用。要隐藏此功能,管理员可以禁用功能标志 gitlab_for_slack_app_instance_and_group_level

要为群组评论触发 通知事件,请在以下位置使用 @<group_name>

  • 议题和合并请求的描述
  • 议题、合并请求和提交的评论