带 Slack 的 Azure Repos
Azure DevOps Services
如果使用 Slack,则可以使用 适用于 Slack 的 Azure Repos 应用 来轻松监视 Azure Repos 存储库。 设置和管理订阅,以在每次推送或签入代码以及创建、更新或合并拉取请求 (PR) 时,在频道中接收通知。 此应用同时支持 Git 和 Team Foundation 版本控制 (TFVC) 事件。
先决条件
- 若要在 Slack 频道中为与存储库相关的事件创建订阅,你必须是项目管理员组的成员,或者是团队管理员。 若要加入,请参阅更改项目级权限或添加团队管理员。
- 若要接收通知,必须为组织启用“通过 OAuth 访问第三方应用程序”设置。 有关详细信息,请参阅更改组织的应用程序访问策略。
注意
- 目前,只能将用于 Slack 的 Azure Repos 应用链接到托管在 Azure DevOps Services 上的某个项目。
- 直接消息中当前不支持通知。
将 Azure Repos 应用添加到 Slack 工作区
转到 Azure Repos Slack 应用,然后选择添加到 Slack。
添加后,你将收到类似以下的欢迎消息。
使用
/azrepos
Slack 句柄与应用交互。 本文的命令参考部分提供了命令的完整列表。
将 Azure Repos 应用连接到存储库
使用
/azrepos signin
命令将自己连接到 Azure Repos 并进行身份验证。选择“登录”。
接受 Azure Repos Slack 集成。
将显示一个验证码,供你的聊天应用使用以完成身份验证。
复制身份验证码。
选择输入代码,粘贴代码,然后选择提交。
在聊天中显示登录确认。
若要开始监视项目中的所有 Git 存储库,请在通道内使用以下斜杠命令:
/azrepos subscribe [project url]
项目 URL 可以指向项目中的任何页面(存储库的 URL 除外)。 例如:
/azrepos subscribe https://dev.azure.com/myorg/myproject/
还可以使用以下命令监视特定存储库:
/azrepos subscribe [repository url]
存储库 URL 可以指向存储库中使用存储库名称的任何页面。 例如,对于 Git 存储库,使用:
/azrepos subscribe https://dev.azure.com/myorg/myproject/_git/myrepository
对于 TFVC 存储库,使用:
/azrepos subscribe https://dev.azure.com/myorg/myproject/_versionControl
注意
只能订阅公共存储库。
Subscribe 命令可让你开始使用默认订阅。 对于 Git 存储库,通道订阅已创建拉取请求事件(目标分支 = 主);对于 TFVC 存储库,通道订阅签入的代码事件。
管理订阅
若要查看、添加或删除通道的订阅,可使用以下 subscriptions
命令:
/azrepos subscriptions
此命令会列出通道的所有当前订阅,并可用于添加新订阅或删除现有订阅。 添加订阅时,可以使用各种筛选器自定义要接收的通知,如以下部分所述。
注意
团队管理员无法删除或修改项目管理员创建的订阅。
使用筛选器自定义订阅
当用户使用 /azrepos subscribe
命令订阅存储库时,将创建默认订阅。 通常,用户需要自定义这些订阅。 例如,用户可能只想在 PR 有特定审阅者时才收到通知。
以下步骤演示如何自定义订阅。
- 运行
/azrepos subscriptions
命令。 - 在订阅列表中,如果存在不需要的订阅或必须修改的订阅(例如:在通道中产生噪音),请选择删除按钮。
- 选择“添加订阅”按钮。
- 选择所需的存储库和所需的事件。
- 选择相应的筛选器。
示例:仅当某个 PR 的审阅者列表中有我的团队时获取通知
示例:当有合并操作因策略冲突而失败时通知我
注意
- 所有筛选器通常都是下拉列表。 但是,如果下拉列表中的项目多于 100 个,则用户必须手动输入值。
- 对于 TFVC 的“代码已签入”事件,筛选器“路径下”的格式必须是
$/myproject/path
。
预览拉取请求 URL
当用户粘贴 PR 的 URL 时,预览显示如下图所示,这有助于保持与 PR 相关的对话符合上下文且准确。
用户登录后,此功能适用于工作区中的所有通道。
从通道中删除订阅和存储库
使用以下命令,通过删除存储库和订阅来清理通道。
/azrepos unsubscribe all [project url]
例如,以下命令删除与项目中任何存储库相关的所有订阅,并从通道中删除存储库。 只有项目管理员可以运行此命令。
/azrepos unsubscribe all https://dev.azure.com/myorg/myproject
命令参考
下表列出了可在 Slack 通道中使用的所有 /azrepos commands
。
/ 命令 | 功能 |
---|---|
/azrepos subscribe [存储库 url/项目 url] | 订阅项目中的存储库或所有存储库以获取通知 |
/azrepos subscriptions | 添加或删除此通道的订阅 |
/azrepos signin | 登录到 Azure Repos 组织 |
/azrepos signout | 从 Azure Repos 组织注销 |
/azrepos feedback | 报告一个问题或建议一项功能 |
/azrepos unsubscribe all [项目 url] | 删除通道中的所有存储库(属于某个项目)及其关联订阅 |
专用通道中的通知
Azure Repos 应用也可以帮助监视专用频道中的存储库事件。 使用 /invite @azrepos
邀请机器人加入专用通道。 然后,你可以像管理公共通道一样管理通知。
疑难解答
如果在使用适用于 Slack 的 Azure Repos 应用时遇到以下错误,请执行本节中的步骤。
很抱歉,出现了问题。 请重试。
Azure Repos 应用使用 OAuth 身份验证协议,且需要启用为组织通过 OAuth 访问第三方应用程序。 若要启用此设置,请导航到“组织设置”>“安全”>“策略”,并将“为组织通过 OAuth 访问第三方应用程序”设置设为“开”。
配置失败。 请确保组织“{组织名称}”存在,并且你有足够的权限。
使用浏览器导航到 https://aka.ms/VsSignout
,注销 Azure DevOps。
打开“专用”或“化名”浏览器窗口并导航到 https://aex.dev.azure.com/me
,然后登录。 在左侧配置文件图标下的下拉列表中,选择要订阅的存储库所在的组织位于的目录。
在同一浏览器中,启动一个新选项卡,导航到 ,并登录到工作区(使用 Web 客户端)https://slack.com
。 运行 /azrepos signout
命令,然后运行 /azrepos signin
命令。
选择 Sign in
按钮,随即会重定向到以下示例中所示的同意页面。 确保电子邮件旁显示的目录与上一步中选择的目录相同。 接受并完成登录过程。
如果上述步骤无法解决你遇到的身份验证问题,请通过开发者社区联系我们。