Skip to main content

在 Slack 中使用GitHub

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

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

注意

* GitHub Copilot 在 Slack 中目前处于 公开预览 阶段,后续可能会有所变动。

您还可以通过 GitHub 集成在对话中发起并引导 Copilot cloud agent 会话,包括让 Copilot 在线程内执行深度研究、规划和分流任务。 团队成员可以彼此协作,也可以与智能体协作,添加上下文、纠正假设、继续智能体任务,并审查生成的成果。

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

注意

在连接帐户之前,Slack 工作区的管理员必须已安装该 GitHub 应用。 请参阅“将 GitHub 与 Slack 集成”。

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

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

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

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

CommandDescription
/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 用户的连接。

注意

当你将渠道订阅到存储库时,该渠道将收到该存储库中有关拉取请求和问题的所有 openclosereopen 事件的通知。 该通道还将直接接收任何 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 集成”。

处理议题和拉取请求

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

若要让 Copilot 执行某项操作,请在任意聊天中输入 @mention@GitHub,然后输入您的任务。

注意

由 Copilot 在共享上下文中创建的拉取请求会使用应用的身份。 如果您使用存储库规则集,由于这些拉取请求不会归属于某个个人,因此在合并前还需要额外一次批准,前提是该存储库本身已要求至少一次批准。 此项已默认启用。 请参阅“规则集的可用规则”。

有关处理独立于 Copilot问题的分步说明和拉取请求,请参阅 通过 Slack 中的 GitHub 集成创建问题在 Slack 中管理 GitHub 集成的相关问题

Slack 中的通知提及

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

提及功能需要你通过 Slack 中的 GitHub 应用登录 GitHub 帐户。 这使得GitHub能够将您的 Slack 身份映射到GitHub身份。 请参阅如何在 Slack 中将您的GitHub帐户连接到GitHub应用

注意

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

以下是会提到你的情境:

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

您可以在 Slack 的“提及”视图中查看您 GitHub 的提及摘要。 有关详细信息,请参阅 Slack 文档中 “活动”选项卡中的“会审通知 ”。

若要了解如何在 Slack 中自定义 GitHub 通知,请参阅 在 Slack 中自定义GitHub通知

线程会话

每个问题或拉取请求的通知都会在 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 文档中的 “共享”链接并设置预览首选项
  • 在过去 30 分钟内,频道中已共享同一链接。
  • 在同一条消息中共享 3 个或多个链接。
  • 存储库是专用的,共享链接的用户:

安排拉取请求评审的提醒

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

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