Skip to main content

此版本的 GitHub Enterprise Server 将于以下日期停止服务 2026-03-17. 即使针对重大安全问题,也不会发布补丁。 为了获得更好的性能、更高的安全性和新功能,请升级到最新版本的 GitHub Enterprise。 如需升级帮助,请联系 GitHub Enterprise 支持

在 Slack 中自定义 GitHub 的通知

了解如何在 Slack 中自定义 GitHub 的通知。

可以自定义通知,方法是订阅与 Slack 频道相关的活动,并取消订阅对项目帮助不大的活动。

通知默认启用

默认情况下启用以下通知,但你可以使用命令禁用其中 /github unsubscribe owner/repo [event] 任何通知。

事件Description
issues打开、关闭或重新打开的问题。
pulls新的或合并的拉取请求,以及标记为可供审核的草稿拉取请求。
commits默认分支上的新提交。
releases已发布的版本。
deployments部署状态更新。

通知默认情况下已禁用

默认情况下禁用以下通知,但可以使用命令启用其中 /github subscribe owner/repo [event] 任何通知。

事件Description
reviews拉取请求评审。
workflowsActions 工作流运行。
branches创建或删除分支。
comments对问题和拉取请求的新评论。
commits所有提交到任何分支。
discussions创建或有回应的讨论。
+label:"your label"基于标签的问题、拉取请求和评论。

您可以同时订阅或取消订阅多个设置项。 例如:

  • 若要打开拉取请求审核和评论的活动,请使用 /github subscribe owner/repo reviews comments
  • 若要关闭问题和拉取请求的活动,请使用 /github unsubscribe owner/repo issues pulls

筛选通知

可以使用分支和标签筛选器进一步自定义通知。 分支筛选器允许基于分支名称筛选提交通知,而标签筛选器允许根据应用于它们的标签筛选问题和拉取请求通知。

提交通知的分支筛选器

通过分支筛选器,可以根据分支名称筛选提交通知。 默认情况下,订阅 commits 事件时,你将收到默认分支的通知。 但是,可以选择针对特定分支或分支模式或所有分支进行筛选。

示例配置Description
/github subscribe owner/repo commits接收默认分支的提交通知。
/github subscribe owner/repo commits:main仅接收 main 分支的提交通知。
/github subscribe owner/repo commits:feature/*接收所有以 feature/ 开头的分支的提交通知。
/github subscribe owner/repo commits:*接收所有分支的提交通知。

注意

你可能以前曾使用 commits:all 筛选器来接收所有分支的提交通知。 此筛选器为 已弃用。 若要接收所有分支的提交通知,请改用 commits:* 筛选器。 如果之前已设置 commits:all 筛选器,它将继续工作,直到更新配置以使用 commits:* 筛选器。

问题通知和拉取请求通知的标签筛选器

标签筛选器允许根据应用于问题和拉取请求的标签筛选通知。 设置标签筛选器时,仅发送包含指定标签的事件通知。 有关标签的详细信息,请参阅 管理标签筛选和搜索议题以及拉取请求

目前,每个存储库只能有一个所需的标签筛选器。 下表显示了哪些事件类型受标签筛选器的影响。

事件类型按标签筛选
拉取请求
问题
注释
Reviews
提交/推送
分支

创建标签筛选器

若要创建标签筛选器,请使用以下命令格式:

Text
/github subscribe [owner/repo] +label:"your label"

这会使用值 your label创建必需标签筛选器。 除非具有该标签,否则支持筛选器的传入事件将被丢弃。

更新标签筛选器

可以通过指定新的标签值来更新现有标签筛选器:

Text
/github subscribe [owner/repo] +label:"new label"

这将会把“你的标签”筛选器替换为“新的标签”筛选器。

删除标签筛选器

可以使用取消订阅命令和 +label 选项删除现有标签筛选器:

Text
/github unsubscribe [owner/repo] +label:"new label"

这将删除“新标签”筛选器,通道将接收订阅事件的所有通知,而无需任何标签筛选。

查看活动标签筛选器

若要查看通道的当前活动标签筛选器,请使用以下命令:

Text
/github subscribe list features

有效筛选器

Slack 中的 GitHub 应用支持标签筛选器最常见的特殊字符,包括 Slack 和 GitHub 提供的所有表情符号。 很少遇到包含不支持的特殊字符的标签。 例如,未编码为 :foo:任何多字节字符,或者使用该字符的 , 标签可能无法按预期工作。

操作工作流通知

可以使用“工作流”功能,使用格式 /github subscribe owner/repo workflows,从你的频道或个人应用订阅 GitHub Actions 工作流运行通知。

订阅“工作流”时,可以使用以下功能:

  • 触发新的工作流运行时,将收到通知。

  • 可以在线程中以回复的形式跟踪批准通知,也可以直接从频道/个人应用批准通知。

  • 工作流完成后,你将在线程中收到一个更新作为回复,以便你了解有关工作流运行的上下文和历史记录。

  • 如果某些作失败,可以选择就地重新运行工作流,还可以根据需要启用调试日志。

注意

2025-03-10(GHES 版本 3.17)之后,将不再收到有关单个工作流作业进度的通知。 有关详细信息,请参阅 GitHub changelog

工作流通知筛选器

可以使用以下选项筛选工作流通知:

过滤器Description
name按工作流的名称进行筛选。
actor按触发工作流的用户进行筛选。
branch按运行工作流的分支进行筛选。 在包含pull_request事件的情况下,分支将是创建拉取请求所针对的目标分支。
event按触发工作流的事件(例如推送、pull_request)进行筛选。

可以使用以下格式配置工作流通知筛选器:

Text
/github subscribe owner/repo workflows:{name:"your workflow name" event:"workflow event" branch:"branch name" actor:"username"}

还可以为每个筛选器传递多个值,用逗号分隔。 例如:

Text
/github subscribe owner/repo workflows:{name:"your workflow name","another workflow name" event:"workflow event","another workflow event" branch:"branch name","another branch name" actor:"username","another-username"}

默认情况下,当你在不通过任何筛选器的情况下配置工作流通知时,它被配置为通过针对默认分支的拉取请求触发的工作流。 可以传递一个或多个条目。

可以使用以下命令取消订阅工作流通知。 /github unsubscribe owner/repo workflows

注意

若要在 Slack 中接收 GitHub Actions 通知,GitHub 应用需要额外权限。 首次尝试订阅工作流时,系统会提示你授予这些权限。

部署通知

还可以配置单独的部署通知。 这些部署可以从 GitHub Actions 或者通过部署 API 从外部来源进行。 请参阅“适用于部署的 REST API 终结点”。

可以使用以下命令订阅/取消订阅部署通知。 /github subscribe/unsubscribe owner/repo deployments

注意

如果你正在使用 GitHub Actions,并希望跟踪你在环境中的部署,建议使用 workflows 功能,因为它提供了更全面的视图,并且能够直接从 Slack 批准你的部署。