{"meta":{"title":"在 Teams 中为 GitHub 自定义通知","intro":"自定义 GitHub 通知以管理 Teams 中的工作。","product":"集成","breadcrumbs":[{"href":"/zh/integrations","title":"集成"},{"href":"/zh/integrations/how-tos","title":"How-tos"},{"href":"/zh/integrations/how-tos/teams","title":"Teams"},{"href":"/zh/integrations/how-tos/teams/customize-notifications","title":"自定义通知"}],"documentType":"article"},"body":"# 在 Teams 中为 GitHub 自定义通知\n\n自定义 GitHub 通知以管理 Teams 中的工作。\n\n你可以通过订阅与 Microsoft Teams 频道相关的活动，并取消订阅对项目帮助较小的活动来自定义通知。\n\n### 通知默认启用\n\n默认情况下启用以下通知，但你可以使用 `@GitHub unsubscribe OWNER/REPO [FEATURE]` 命令禁用其中任何通知。\n\n| 功能            | 说明                     |\n| ------------- | ---------------------- |\n| `issues`      | 打开、关闭或重新打开的问题。         |\n| `pulls`       | 新建、已合并、已关闭或重新打开的拉取请求。  |\n| `commits`     | 默认分支（通常为 `main`）上的新提交。 |\n| `comments`    | 对问题和拉取请求的新评论。          |\n| `deployments` | 部署状态更新。                |\n| `releases`    | 已发布的新版本和预发行版本。         |\n\n> \\[!NOTE]\n> 默认情况下，存储库通知也处于启用状态。 存储库公开或删除时，将收到通知。 无法禁用此通知，因为存储库更新是破坏性活动。\n\n### 通知默认情况下已禁用\n\n默认情况下禁用以下通知，但可以使用 `@GitHub subscribe owner/repo [FEATURE]` 命令启用其中任何通知。\n\n| 功能                           | 说明                |\n| ---------------------------- | ----------------- |\n| `reviews`                    | 拉取请求评审。           |\n| `workflows`                  |                   |\n| GitHub Actions 工作流运行情况和审批通知。 |                   |\n| `branches`                   | 分支创建和删除。          |\n| `discussions`                | 创建或有回应的讨论。        |\n| `+label:\"YOUR-LABEL\"`        | 根据标签筛选议题、拉取请求和评论。 |\n\n您可以同时订阅或取消订阅多个设置项。 例如：\n\n* 若要为拉取请求评审和批注启用活动，请使用 `@GitHub subscribe OWNER/REPO reviews comments`。\n* 若要关闭问题和拉取请求的活动，请使用 `@GitHub unsubscribe OWNER/REPO issues pulls`。\n\n## 筛选通知\n\n可以使用分支和标签筛选器进一步自定义通知。 分支筛选器允许基于分支名称筛选提交通知，而标签筛选器允许根据应用于它们的标签筛选问题和拉取请求通知。\n\n### 提交通知的分支筛选器\n\n通过分支筛选器，可以根据分支名称筛选提交通知。 默认情况下，订阅 `commits` 事件时，你将收到默认分支的通知。 但是，可以选择针对特定分支或分支模式或所有分支进行筛选。\n\n| 配置示例                                             | 说明                           |\n| ------------------------------------------------ | ---------------------------- |\n| `@GitHub subscribe OWNER/REPO commits`           | 接收默认分支的提交通知。                 |\n| `@GitHub subscribe OWNER/REPO commits:main`      | 仅接收 `main` 分支的提交通知。          |\n| `@GitHub subscribe OWNER/REPO commits:feature/*` | 接收所有以 `feature/` 开头的分支的提交通知。 |\n| `@GitHub subscribe OWNER/REPO commits:*`         | 接收所有分支的提交通知。                 |\n\n可以使用 `@GitHub unsubscribe OWNER/REPO commits` 取消订阅提交功能。\n\n> \\[!NOTE] 你可能以前曾使用 `commits:all` 筛选器来接收所有分支的提交通知。 此筛选器为 关闭. 若要接收所有分支的提交通知，请改用 `commits:*` 筛选器。 如果之前已设置 `commits:all` 筛选器，它将继续工作，直到更新配置以使用 `commits:*` 筛选器。\n\n### 问题通知和拉取请求通知的标签筛选器\n\n标签筛选器允许根据应用于问题和拉取请求的标签筛选通知。 设置标签筛选器时，仅发送包含指定标签的事件通知。 有关标签的详细信息，请参阅 [管理标签](/zh/issues/using-labels-and-milestones-to-track-work/managing-labels) 和 [筛选和搜索议题以及拉取请求](/zh/issues/tracking-your-work-with-issues/using-issues/filtering-and-searching-issues-and-pull-requests)。\n\n目前，每个存储库只能有一个所需的标签筛选器。 下表显示了哪些事件类型受标签筛选器的影响。\n\n| 事件类型  | 按标签筛选                                                                                                                                                                                                                                                                                                                                                                                                                              |\n| ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| 拉取请求  | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Included\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                            |\n| 问题    | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Included\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                            |\n| 注释    | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Included\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                            |\n| 评价    | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Included\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                            |\n| 提交/推送 | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Not included\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> |\n| 分支    | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Not included\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> |\n\n#### 创建标签筛选器\n\n若要创建标签筛选器，请使用以下命令格式：\n\n```text copy\n@GitHub subscribe [OWNER/REPO] +label:\"YOUR-LABEL\"\n```\n\n这会使用值 `YOUR-LABEL`创建必需标签筛选器。 除非具有该标签，否则支持筛选器的传入事件将被丢弃。\n\n#### 更新标签筛选器\n\n可以通过指定 NEW-LABEL 值来更新现有标签筛选器：\n\n```text copy\n@GitHub subscribe [OWNER/REPO] +label:\"NEW-LABEL\"\n```\n\n这将将“YOUR-LABEL”筛选器替换为“NEW-LABEL”筛选器。\n\n#### 删除标签筛选器\n\n可以使用取消订阅命令和 `+label` 选项删除现有标签筛选器：\n\n```text copy\n@GitHub unsubscribe [OWNER/REPO] +label:\"NEW-LABEL\"\n```\n\n这将删除“NEW-LABEL”筛选器，通道将接收订阅事件的所有通知，而无需任何标签筛选。\n\n#### 查看活动标签筛选器\n\n若要查看通道的当前活动标签筛选器，请使用以下命令：\n\n```text copy\n@GitHub subscribe list features\n```\n\n#### 有效筛选器\n\nTeams 中的 GitHub 应用支持用于标签筛选器的最常见特殊字符，包括 Teams 和 GitHub 标准提供的所有表情符号。 很少遇到包含不支持的特殊字符的标签。 例如，未编码为 `:foo:`任何多字节字符，或者使用该字符的 `,` 标签可能无法按预期工作。\n\n## GitHub Actions 工作流通知\n\n你可以在频道或个人应用中使用“workflows”功能订阅 GitHub Actions 工作流运行通知，格式为 `@GitHub subscribe OWNER/REPO workflows`。\n\n订阅“工作流”时，可以使用以下功能：\n\n* 触发新的工作流运行时，将收到通知。\n* 你可以在主题中作为回复跟踪审批通知，并直接从频道或个人应用审批通知。\n* 工作流完成后，你将在线程中获取一个作为回复的更新，以便你可以看到工作流运行的完整上下文和历史记录。\n* 如果某些作失败，可以选择就地重新运行工作流，还可以根据需要启用调试日志。\n\n> \\[!NOTE] 在 2025 年 3 月 10 日之后，对于 GitHub Enterprise Server 3.17 及更高版本，您将不再收到有关各个工作流作业进度的通知。 有关更多详细信息， [GitHub 请参阅更改日志](https://github.blog/changelog/2025-02-03-deprecation-of-real-time-github-actions-workflow-job-events-in-slack-and-microsoft-teams-apps/) 。\n\n### 工作流通知筛选器\n\n可以使用以下选项筛选工作流通知：\n\n| 过滤器      | 说明                                                         |\n| -------- | ---------------------------------------------------------- |\n| `name`   | 按工作流的名称进行筛选。                                               |\n| `actor`  | 按触发工作流的用户进行筛选。                                             |\n| `branch` | 按运行工作流的分支进行筛选。 在包含`pull_request`事件的情况下，分支将是创建拉取请求所针对的目标分支。 |\n| `event`  | 按触发工作流的事件（例如推送、pull\\_request）进行筛选。                         |\n\n可以使用以下格式配置工作流通知筛选器：\n\n```text copy\n@GitHub subscribe OWNER/REPO workflows:{name:\"YOUR-WORKFLOW-NAME\" event:\"WORKFLOW-EVENT\" branch:\"BRANCH-NAME\" actor:\"USERNAME\"}\n```\n\n还可以为每个筛选器传递多个值，用逗号分隔。 例如：\n\n```text copy\n@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\"}\n```\n\n默认情况下，当你在不通过任何筛选器的情况下配置工作流通知时，它被配置为通过针对默认分支的拉取请求触发的工作流。 可以传递一个或多个条目。\n\n可以使用以下命令取消订阅工作流通知：`@GitHub unsubscribe OWNER/REPO workflows`。\n\n> \\[!NOTE] 若要在 Teams 中接收 GitHub Actions 通知，应用 GitHub 需要其他权限。 首次尝试订阅工作流时，系统会提示你授予这些权限。\n\n## 部署通知\n\n还可以配置单独的部署通知。 这些部署既可以从 GitHub Actions 进行，也可以使用部署 API 从外部源进行。 请参阅“[适用于部署的 REST API 终结点](/zh/rest/deployments/deployments)”。\n\n可以使用以下命令订阅或取消订阅部署通知：\n\n```text copy\n@GitHub subscribe OWNER/REPO deployments\n@GitHub unsubscribe OWNER/REPO deployments\n```\n\n> \\[!NOTE] 如果您正在使用 GitHub Actions 并希望跟踪部署到各个环境的情况，建议使用 `workflows` 功能，因为它能够提供更全面的视图，并让您直接在 Teams 中批准部署。"}