# 在 Slack 中使用GitHub

了解如何在 Slack 中使用GitHub来改进协作并简化工作流。

Slack 的 GitHub 集成允许您将您的 GitHub 帐户连接到 Slack 中的 GitHub 应用。 连接后，可以使用斜杠命令与 GitHubSlack 中的团队交互、接收有关存储库活动的通知，并与团队直接协作。

> \[!NOTE]
> \*
> GitHub Copilot 在 Slack 中目前处于 公开预览 阶段，后续可能会有所变动。

你还可以使用 GitHub 集成在对话中启动和引导 Copilot cloud agent 会话，包括要求 Copilot 在线程内执行深度研究、规划和分类任务。 团队成员可以彼此协作，也可以与智能体协作，添加上下文、纠正假设、继续智能体任务，并审查生成的成果。

## 将您的 GitHub 帐户连接到 Slack 中的 GitHub 应用

> \[!NOTE] 在连接帐户之前，Slack 工作区的管理员必须已安装该 GitHub 应用。 请参阅“[将 GitHub 与 Slack 集成](/zh/enterprise-cloud@latest/integrations/how-tos/slack/integrate-github-with-slack)”。

1. 在 Slack 中，使用 GitHub 应用启动直接消息。
2. 私信将预填充欢迎消息和连接 GitHub 帐户的链接。 按照 Slack 屏幕和 GitHub 浏览器中的提示进行身份验证和授权连接。

GitHub帐户连接后，Slack 会显示可用的命令和功能列表。

## 使用斜线命令与GitHub在 Slack 中进行交互

若要使用斜杠命令，请键入 `/github`，然后在任一 Slack 通道或 GitHub 应用所在的直接消息的消息输入字段中输入要执行的命令。 若要邀请应用加入频道，请在频道中键入 `/invite @github` 。

| Command                                           | Description                              |
| ------------------------------------------------- | ---------------------------------------- |
| `/github help`                                    | 显示基本命令及其说明的列表。                           |
| `/github subscribe OWNER/REPO`                    | 订阅此渠道以接收指定存储库的通知。                        |
| `/github unsubscribe OWNER/REPO`                  | 取消通道对指定存储库通知的订阅。                         |
| `/github subscribe list`                          | 列出频道订阅的所有存储库。                            |
| `/github open OWNER/REPO`                         | 在指定的存储库中打开问题。 系统将提示你提供问题的标题和说明。          |
| `/github close [ISSUE-LINK]`                      | 将指定的问题标记为已完成并关闭。                         |
| `/github close [ISSUE-LINK] reason:"NOT-PLANNED"` | 关闭指定的问题并给出原因。 将 `"NOT-PLANNED"` 替换为你的原因。 |
| `/github reopen [ISSUE-LINK]`                     | 重新打开指定的问题。                               |
| `/github signin`                                  | 重新启动“连接您的 GitHub 帐户”工作流。                 |
| `/github signout`                                 | 断开 GitHub 帐户与 Slack 用户的连接。               |

> \[!NOTE] 当你将渠道订阅到存储库时，该渠道将收到该存储库中有关拉取请求和问题的所有 `open`、`close`和`reopen` 事件的通知。 该通道还将直接接收任何 `push` 事件的通知，并将这些事件直接发送到存储库的默认分支。

若要更改 Slack 中的设置 Copilot cloud agent ，请使用 `@GitHub settings` 命令。

## Copilot cloud agent在 Slack 中启动会话

GitHub 集成包括 Slack 中的 Copilot cloud agent。 可以在正在进行讨论的线程中调用GitHub Copilot，并要求其根据讨论的上下文进行修改。

在直接消息、线程和通道中使用 Copilot 。 除了创建议题、拉取请求和其他相关对象外，在 Slack 中使用 Copilot 还可以：

* 直接从讨论转向调查和实施。
* 提出问题并调查失败。
* 在实施之前规划工作。
* 与队友协作引导智能体。
* 通过任何设备分派工作。
* 让任务异步运行。
* 在打开状态下查看生成的结果。
* 在 Slack 之外，于 GitHub、终端或你偏好的代码编辑器中继续处理代理生成的产物。

有关详细信息，请参阅“[将 Copilot 云代理与 Slack 集成](/zh/enterprise-cloud@latest/copilot/how-tos/use-copilot-agents/cloud-agent/integrate-cloud-agent-with-slack)”。

## 处理议题和拉取请求

您可以直接在 Slack 中创建、评论和管理问题及拉取请求，无论是否使用 Copilot。

要让 Copilot 执行操作，请在任何聊天中通过键入 `@GitHub` 后跟你的任务来 @mention 应用。

> \[!NOTE]
> 由 Copilot 在共享上下文中创建的拉取请求会使用应用的身份。 如果您使用存储库规则集，由于这些拉取请求不会归属于某个个人，因此在合并前还需要额外一次批准，前提是该存储库本身已要求至少一次批准。 此项已默认启用。 请参阅“[规则集的可用规则](/zh/enterprise-cloud@latest/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets#additional-approval-for-unattributed-copilot-pull-requests)”。

有关独立于 Copilot 处理问题和拉取请求的逐步说明，请参阅 [通过 Slack 中的 GitHub 集成创建问题](/zh/enterprise-cloud@latest/integrations/tutorials/slack/create-issues) 和 [在 Slack 中管理 GitHub 集成的相关问题](/zh/enterprise-cloud@latest/integrations/tutorials/slack/manage-issues)。

## Slack 中的通知提及

在 Slack 中订阅存储库时，您将在涉及您的存储库事件通知中看到自己被提及。 例如，如果你被分配到某个问题，或在批注中提及，你将在 Slack 的通知中看到自己被提及。

提及功能需要你通过 Slack 中的 GitHub 应用登录 GitHub 帐户。 这使得GitHub能够将您的 Slack 身份映射到GitHub身份。 请参阅[如何在 Slack 中将您的GitHub帐户连接到GitHub应用](#connecting-your-github-account-to-the-github-app-in-slack)。

> \[!NOTE]
> 如果您在多个 Slack 工作区中使用 GitHub 应用，则提及仅会在您最近登录 GitHub 应用的工作区中生效。 如果你在其他工作区登录 GitHub 应用，提及功能将在之前的工作区失效。

以下是会提到你的情境：

* 将为你分配一个任务。
* 请求你对拉取请求进行审查。
* 你在拉取请求、问题说明、评论或讨论中被提及。
* 请求你对一项部署进行评审。
* 你会收到一条关于拉取审查请求的定时提醒。

您可以在 Slack 的“提及”视图中查看您 GitHub 的提及摘要。 有关详细信息，请参阅 Slack 文档中 [“活动”选项卡中的“会审通知](https://slack.com/help/articles/19693583638803-Triage-notifications-in-the-Activity-tab) ”。

若要了解如何在 Slack 中自定义 GitHub 通知，请参阅 [在 Slack 中自定义GitHub通知](/zh/enterprise-cloud@latest/integrations/how-tos/slack/customize-notifications)。

## 线程会话

每个问题或拉取请求的通知都会在 Slack 中被分组到一个线程中。 父消息始终显示问题或拉取请求的最新状态，以及其他元数据，如标题、说明、分配者、审阅者、标签和检查。 线程处理有助于保持对话组织有序，从而更轻松地跟踪与特定问题或拉取请求相关的更新和讨论。 当问题或拉取请求的状态发生更改时，关联的答复将同时在线程和通道中发布，以便通道中的每个人都知道更新。

可以在各个渠道中为问题和拉取请求通知禁用线程功能。

1. 在要禁用线程的 Slack 通道中，键入 `/github settings`。
2. 在设置菜单中，在“禁用拉取请求和问题通知的线程处理”选项的右边，单击**禁用**。

你或通道的任何其他成员都可以按照相同的步骤并单击“设置”菜单中的“ **启用** ”，随时重新启用线程处理。

## 将评论和评价发布到 Slack 频道

默认情况下，注释和评论只会显示在其相关线程中。 如果希望渠道成员（而不仅仅是问题参与者）看到这些内容，可以使用以下命令选择进行广播：

* 对于评论广播，请使用 `/github subscribe OWNER/REPO comments:"CHANNEL"`

* 若要审查广播，请使用 `/github subscribe OWNER/REPO reviews:"CHANNEL"`

## 在 Slack 中展开 GitHub 活动链接

链接预览在 Slack 中共享指向 GitHub 活动的链接时提供额外的上下文信息。 Slack 中为以下 GitHub 活动显示链接预览：

* 拉取请求
* 问题
* 直接关联的注释
* 包含行号的代码 Blob
* 组织、存储库和用户

如果存在以下任一情况，则不会显示链接预览：

* 在 Slack 工作区中禁用链接预览。 请参阅 Slack 文档中的 [“共享”链接并设置预览首选项](https://slack.com/help/articles/204399343-Share-links-and-set-preview-preferences#turn-off-link-previews-for-specific-sites) 。
* 在过去 30 分钟内，频道中已共享同一链接。
* 在同一条消息中共享 3 个或多个链接。
* 存储库是专用的，共享链接的用户：
  * 尚未将其 GitHub 帐户连接到 Slack 中的 GitHub 应用。
  * 不要在出现提示时显示链接预览。
  * 该 GitHub 应用不在共享链接的通道中。 请参阅 [使用斜杠命令在 Slack 中与 GitHub 进行交互](#using-slash-commands-to-interact-with-github-in-slack)。

## 安排拉取请求评审的提醒

可以在 Slack 中安排拉取请求评审的提醒。 提醒可通过 GitHub 应用私信直接发送给你，或发送到安装 GitHub 应用的频道。 例如，可以安排在每个工作日上午 10 点通过私信向你发送提醒，包括所有分配给你的未解决的问题。

可以为自己、团队或整个组织设置定时提醒。 有关详细信息，请参见:

* [管理您的预定提醒](/zh/enterprise-cloud@latest/subscriptions-and-notifications/how-tos/managing-your-scheduled-reminders)
* [管理团队的预定提醒](/zh/enterprise-cloud@latest/organizations/organizing-members-into-teams/managing-scheduled-reminders-for-your-team)
* [管理您组织的定时提醒](/zh/enterprise-cloud@latest/organizations/managing-organization-settings/managing-scheduled-reminders-for-your-organization)