Azure DevOps Services
如果使用 Slack,可以使用适用于 Slack 的 Azure Repos 应用 轻松监视 Azure Repos 存储库。 设置和管理订阅,以在每次推送或签入代码以及创建、更新或合并拉取请求 (PR) 时,在频道中接收通知。 此应用支持 Git 和 Team Foundation 版本控制(TFVC)事件。
先决条件
| 类别 | 要求 |
|---|---|
| 平台 | Azure Repos Slack 应用仅适用于 Azure DevOps Services(云):Azure DevOps Server 不支持它。 |
| Permissions | 若要在 Slack 频道中为与存储库相关的事件创建订阅,则需要是 项目管理员 组的成员或团队管理员。 有关详细信息,请参阅“更改项目级权限”或“添加团队管理员”。 |
| Microsoft Entra 帐户 | 如果组织已连接到 Microsoft Entra ID 租户,请使用该租户的原生成员帐户登录,来宾或外部帐户在通过 Slack 登录时可能会遇到身份验证错误。 |
将 Azure Repos 应用添加到 Slack 工作区
转到 Azure Repos Slack 应用,然后选择添加到 Slack。
添加后,会收到类似于以下欢迎消息的内容。
使用
/azreposSlack 用户名与应用交互。 本文的 命令参考 部分提供了命令的完整列表。
将 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
注意
只能订阅公共存储库。
订阅命令可让你开始使用默认订阅。 对于 Git 存储库,通道订阅已创建拉取请求事件(目标分支 = 主);对于 TFVC 存储库,通道订阅签入的代码事件。
管理订阅
若要查看、添加或删除频道订阅,请使用以下 subscriptions 命令:
/azrepos subscriptions
此命令列出了频道的所有当前订阅,并允许添加新订阅或删除现有订阅。 添加订阅时,可以使用各种筛选器自定义你获取的通知,如以下部分所述。
注意
团队管理员无法删除或修改项目管理员创建的订阅。
显示订阅列表视图的 
使用筛选器自定义订阅
当用户使用 /azrepos subscribe 命令订阅存储库时,将创建默认订阅。 通常,用户需要自定义这些订阅。 例如,用户可能只想在 PR 具有特定审阅者时收到通知。
以下步骤演示如何自定义订阅。
- 运行
/azrepos subscriptions命令。 - 在订阅列表中,如果有不需要的或必须修改的订阅(例如:在频道中创建干扰),请选择 “删除 ”按钮。
- 选择“添加订阅”按钮。
- 选择所需的存储库和所需的事件。
- 选择适当的筛选器。
示例:仅当某个 PR 的审阅者列表中包含我的团队时,才接收通知
示例:当合并尝试因策略冲突而失败时告诉我
注意
- 所有筛选器通常为下拉菜单。 但是,如果下拉列表的项大于 100 个,则用户必须手动输入值。
- 对于 TFVC 的“代码已签入”事件,筛选器“路径下”的格式必须是 。
预览拉取请求 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 订阅 | 添加或删除此频道的订阅 |
| /azrepos signin(登录) | 登录到 Azure Repos 组织 |
| /azrepos signout (退出 azrepos 存储库的命令) | 从您的 Azure Repos 组织中注销 |
| /azrepos feedback | 报告问题或建议功能 |
| /azrepos unsubscribe all [项目 url] | 从频道中删除所有存储库(属于项目)及其关联的订阅 |
| /azrepos help | 获取有关命令行参数的帮助 |
专用通道中的通知
Azure Repos 应用还可以帮助你监视专用频道中的存储库事件。 使用 /invite @azrepos邀请机器人加入专用频道。 然后,可以采用与公共频道相同的方式管理通知。
疑难解答
如果使用 Azure Repos App for Slack时遇到以下错误,请按照本节中的过程操作。
配置失败。 请确保组织“{组织名称}”存在,并且你有足够的权限。
请使用浏览器导航到 https://aka.ms/VsSignout 以注销 Azure DevOps。
打开“专用”或“化名”浏览器窗口并导航到 ,然后登录。 在左侧配置文件图标下的下拉列表中,选择包含要订阅的存储库的组织所在的目录。
组织的目录
在同一浏览器中,启动一个新选项卡,导航到,并登录到工作区(使用网页客户端)。 依次运行 /azrepos signout 命令和 /azrepos signin 命令。
如果这些步骤无法解决身份验证问题,请在 开发人员社区联系我们。