极狐 GitLab

极狐GitLab for Slack app

Tier: 基础版,专业版,旗舰版

Offering: JihuLab.com,私有化部署

版本历史
  • 引入于私有化部署 极狐GitLab 16.2。

此页面包含 极狐GitLab for Slack app 的用户文档。管理员文档请参阅 极狐GitLab for Slack app 管理

极狐GitLab for Slack app 是一个原生的 Slack 应用,在你的 Slack 工作区中提供斜杠命令通知。极狐GitLab 将你的 Slack 用户与你的 极狐GitLab 用户关联,因此你在 Slack 中运行的任何命令都将由你关联的 极狐GitLab 用户执行。

安装 极狐GitLab for Slack app#

先决条件:

在 极狐GitLab 15.0 及更高版本中,极狐GitLab for Slack app 使用 精细权限。 尽管功能没有变化,你应该重新安装该应用

从项目或群组设置#

版本历史
  • 群组级别的安装引入于 极狐GitLab 16.10,带有功能标志 gitlab_for_slack_app_instance_and_group_level。默认禁用。
  • 在 JihuLab.com 和私有化部署上启用于 极狐GitLab 16.11。
  • GA 于 极狐GitLab 17.8。功能标志 gitlab_for_slack_app_instance_and_group_level 已移除。

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

  1. 在顶部栏中,选择 搜索或跳转到 并找到你的项目或群组。
  2. 在左侧边栏中,选择 设置 > 集成
  3. 选择 极狐GitLab for Slack app
  4. 选择 安装 极狐GitLab for Slack app。你将重定向到 Slack 确认页面。
  5. 在 Slack 确认页面上:
    1. 可选。如果你登录了多个 Slack 工作区,在右上角的下拉列表中选择要安装应用的工作区。 在私有化部署的 极狐GitLab 上,管理员必须先 启用多工作区支持,下拉列表才会出现。
    2. 选择 允许

从 Slack App Directory#

Tier: 基础版,专业版,旗舰版

Offering: JihuLab.com

在 JihuLab.com 上,你也可以从 Slack App Directory 安装 极狐GitLab for Slack app。

要从 Slack App Directory 安装 极狐GitLab for Slack app:

  1. 前往 极狐GitLab for Slack 页面
  2. 选择一个 极狐GitLab 项目以链接到你的 Slack 工作区。

重新安装 极狐GitLab for Slack app#

当 极狐GitLab 为 极狐GitLab for Slack app 发布新功能时,你可能需要重新安装该应用以使用这些功能。

要重新安装 极狐GitLab for Slack app:

  1. 在顶部栏中,选择 搜索或跳转到 并找到你的项目。
  2. 在左侧边栏中,选择 设置 > 集成
  3. 选择 极狐GitLab for Slack app
  4. 选择 安装 极狐GitLab for Slack app。你将重定向到 Slack 确认页面。
  5. 在 Slack 确认页面上:
    1. 可选。如果你登录了多个 Slack 工作区,在右上角的下拉列表中选择要重新安装应用的工作区。 在私有化部署的 极狐GitLab 上,管理员必须先 启用多工作区支持,下拉列表才会出现。
    2. 选择 允许

极狐GitLab for Slack app 将针对所有使用该集成的项目进行更新。

或者,你可以再次配置集成

斜杠命令#

你可以使用斜杠命令来运行常见的 极狐GitLab 操作。

对于 极狐GitLab for Slack app:

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

如果你使用的是 Mattermost 斜杠命令

  • /gitlab 替换为你为集成配置的触发器名称。
  • 去掉 <project>

极狐GitLab 提供以下斜杠命令:

命令描述
/gitlab help显示所有可用的斜杠命令。
/gitlab <project> issue show <id>显示 ID 为 <id> 的议题。
/gitlab <project> issue new <title> Shift+Enter <description>创建一个标题为 <title> 且描述为 <description> 的议题。
/gitlab <project> issue search <query>显示最多五个匹配 <query> 的议题。
/gitlab <project> issue move <id> to <project>将 ID 为 <id> 的议题移动到 <project>
/gitlab <project> issue close <id>关闭 ID 为 <id> 的议题。
/gitlab <project> issue comment <id> Shift+Enter <comment>为 ID 为 <id> 的议题添加评论,评论内容为 <comment>
/gitlab <project> deploy <from> to <to><from> 环境 部署<to> 环境。
/gitlab <project> run <job name> <arguments>在默认分支上执行 ChatOps 作业 <job name>
/gitlab incident declare打开一个对话框,以 从 Slack 创建事件

deploy 命令#

要部署到某个环境,极狐GitLab 会尝试在流水线中查找手动的部署动作。

如果仅定义了一个与该环境相关的部署动作,则触发该动作。 如果定义了多个部署动作,极狐GitLab 会尝试查找与环境名称匹配的动作名称。

如果极狐GitLab 找不到匹配的部署动作,命令将返回错误信息。

创建项目别名#

在 极狐GitLab for Slack app 中,斜杠命令默认使用项目完整路径。 你可以改用项目别名。

要为 极狐GitLab for Slack app 中的斜杠命令创建项目别名:

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

如果 Slack 工作区中发生别名冲突(例如,多个项目或群组尝试使用相同的别名),极狐GitLab 会自动分配一个回退别名,格式如下:

  • 对于项目:p-<project_id>(例如 p-12345
  • 对于群组:g-<group_id>(例如 g-67890

当首选别名不可用时,你可以在斜杠命令中使用这些回退别名。

Slack 通知#

版本历史
  • 引入于 极狐GitLab 15.9。

你可以针对特定的 极狐GitLab 事件 接收 Slack 频道通知。

配置通知#

要配置 Slack 通知:

  1. 在顶部栏中,选择 搜索或跳转到 并找到你的项目。

  2. 在左侧边栏中,选择 设置 > 集成

  3. 选择 极狐GitLab for Slack app

  4. 触发器 部分:

    • 为你希望在 Slack 中接收通知的每个 极狐GitLab 事件 勾选复选框。

    • 对于你选择的每个复选框,输入你要接收通知的 Slack 频道名称。 你可以输入最多 10 个频道名称,用逗号分隔(例如 #channel-one, #channel-two)。

      如果 Slack 频道是私有的,你必须将 极狐GitLab for Slack app 添加到该频道

  5. 可选。在 通知设置 部分:

    • 勾选 仅通知失败的流水线 复选框, 以仅接收失败流水线的通知。

    • 勾选 仅在状态变更时通知 复选框, 以仅在该引用的流水线状态发生变化时接收通知。

    • 要发送通知的分支 下拉列表中, 选择你希望接收通知的分支。

      通知也会针对从这些分支创建的标签所触发的流水线发送。

      无论选择哪些分支,漏洞通知仅由默认分支触发。 更多详情,请参阅 议题 469373

    • 对于 要通知的标签,输入 极狐GitLab 议题、合并请求或评论必须具备的任意或所有标签,才会接收通知。 留空表示接收所有事件的通知。

  6. 可选。选择 测试设置

  7. 选择 保存更改

接收私有频道的通知#

要接收私有 Slack 频道的通知,你必须将 极狐GitLab for Slack app 添加到该频道:

  1. 通过在频道中输入 @GitLab 来提及该应用。
  2. 选择 添加到频道

通知事件#

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

事件描述
Push向代码仓推送。
Issue工作项被创建、关闭或重新打开。
Confidential issue机密工作项被创建、关闭或重新打开。
Merge request合并请求被创建、合并、批准、关闭或重新打开。
Note添加评论。
Confidential note在机密工作项上添加内部笔记或评论。
Tag push标签被推送到代码仓或移除。
Pipeline流水线状态发生变化。
Wiki page维基页面被创建或更新。
Deployment部署开始或完成。
Group mention in public在公开频道中提及群组。
Group mention in private在私有频道中提及群组。
Incident事件被创建、关闭或重新打开。
Vulnerability新的、唯一的漏洞被记录在默认分支上。
Alert新的、唯一的警报被记录。

触发群组提及通知#

版本历史
  • 群组级别的安装引入于 极狐GitLab 16.10,带有功能标志 gitlab_for_slack_app_instance_and_group_level。默认禁用。
  • 在 JihuLab.com 和私有化部署上启用于 极狐GitLab 16.11。
  • GA 于 极狐GitLab 17.8。功能标志 gitlab_for_slack_app_instance_and_group_level 已移除。

要触群组提及通知事件,在以下内容中使用 @<group_name>

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