将 Azure Pipelines 与 Slack 配合使用
Azure DevOps Services
本文介绍如何使用适用于 Slack 的 Azure Pipelines 应用监视管道事件。 可以建立和管理管道事件的订阅,例如生成、发布和挂起的审批。 这些事件的通知将直接传送到 Slack 通道。
注意
此功能仅适用于 Azure DevOps Services。 通常,新功能首先会在云服务中引入,然后在 Azure DevOps Server 的下一个主要版本或更新中本地提供。 有关详细信息,请参阅 Azure DevOps 功能时间线。
先决条件
- 有权将应用安装到 Slack 工作区的 Slack 帐户。
- 具有项目集合管理员或项目管理员权限的 Azure DevOps 项目。
安装 Azure Pipelines 应用
将 Azure Pipelines Slack 应用 安装到 Slack 工作区。 安装应用后,会看到以下欢迎消息。 Enter /azpipelines
开始与应用交互。
连接到管道
在 Slack 工作区中安装应用后,可以将应用连接到要监视的任何管道。 在运行任何命令之前,必须向 Azure Pipelines 进行身份验证。
订阅管道
若要开始监视项目中的所有管道,请在通道中输入 /azpipelines subscribe <project url>
,替换为 <project url>
Azure DevOps 项目 URL。 项目 URL 可以链接到项目内的任何页面,例如 /azpipelines subscribe https://dev.azure.com/myorg/myproject/
管道页除外。
可以使用 监视特定管道 /azpipelines subscribe <pipeline url>
。 管道 URL 可以链接到管道中其 URL 包含 definitionId
或 buildId/releaseId
的任何页面。 例如:
/azpipelines subscribe https://dev.azure.com/myorg/myproject/_build?definitionId=123
/azpipelines subscribe https://dev.azure.com/myorg/myproject/_release?definitionId=123&view=mine&_a=releases
默认情况下,该 subscribe
命令会订阅以下通知:
- 对于 YAML 管道:
- 运行阶段状态已更改
- 等待审批的运行阶段
- 对于经典生成管道, 已完成生成
- 对于经典发布管道:
- 已启动发布部署
- 发布部署已完成
- 正在等待发布部署审批
管理订阅
若要管理通道的订阅,请输入 /azpipelines subscriptions
。 此命令列出了频道的所有当前订阅,并允许添加或删除订阅。
注意
团队管理员无法删除或修改项目管理员创建的订阅。
自定义订阅
默认订阅未应用任何筛选器,但可以根据偏好自定义这些订阅。 例如,你可能只想接收失败的内部版本或部署到生产的通知。 可以应用筛选器来自定义频道中收到的消息。
若要自定义订阅,请执行以下操作:
- 运行
/azpipelines subscriptions
命令以列出所有订阅。 - 选择“添加订阅”。
- 选择要订阅的事件,然后选择所需的配置。
- 选择“保存”。
例如,若要仅获取失败版本的通知,请选择“生成”状态下的“失败”。
批准部署
可以在 Slack 通道中批准部署,而无需转到 Azure Pipelines。 订阅 运行阶段,等待 YAML 管道的审批 通知或 经典版本的发布部署审批挂起 通知。 订阅管道时,默认情况下会创建这两个订阅。
借助适用于 Slack 的 Azure Pipelines 应用,可以处理 Azure Pipelines 门户中提供的所有检查和审批方案。 这些方案包括单个审批者、多个审批者和基于团队的审批。 可以单独或代表团队批准请求。
删除所有订阅
若要整理通道,可以使用 /azpipelines unsubscribe all <project url>
该命令取消订阅项目中的所有管道。 例如,/azpipelines unsubscribe all https://dev.azure.com/myorg/myproject
。
重要
只有项目管理员可以运行此命令。
命令参考
适用于 Slack 的 Azure Pipelines 应用支持以下命令:
命令 | 说明 |
---|---|
/azpipelines subscribe <pipeline url or project url> |
订阅项目中的管道或所有管道并接收通知。 |
/azpipelines subscriptions |
添加或删除此频道的订阅。 |
/azpipelines feedback |
报告一个问题或建议一项功能。 |
/azpipelines help |
获取有关命令的帮助。 |
/azpipelines signin |
登录到 Azure Pipelines 帐户。 |
/azpipelines signout |
注销 Azure Pipelines 帐户。 |
/azpipelines unsubscribe all <project url> |
从频道中删除所有项目管道及其关联的订阅。 |
专用通道中的通知
Azure Pipelines 应用还可以帮助你监视专用通道中的管道活动。 需要使用 将机器人邀请到专用频道 /invite @azpipelines
。 添加机器人后,可以按照与公共频道相同的方式配置和控制通知。
条件和限制
- 只能在 Azure DevOps Services 中使用适用于 Slack 的 Azure Pipelines 应用。
- 若要设置订阅,你必须是包含管道的项目的管理员。
- 直接消息中不支持通知。
- 不支持在完成应用的审批策略之前具有审批者的重新验证标识的部署审批。
- 若要使用该应用,必须在 Azure DevOps 组织设置>安全>策略中启用通过 OAuth 进行第三方应用程序访问。
故障排除
如果在使用适用于 Slack 的 Azure Pipelines 应用时遇到以下错误,请尝试本部分中的过程。
很抱歉,出现了问题。 请重试。
Azure Pipelines 应用使用 OAuth 身份验证协议,并且需要启用通过 OAuth 访问第三方应用程序。 若要启用此设置,请导航到“组织设置>安全>策略”,并通过 OAuth 启用第三方应用程序访问。
配置失败。 请确保组织存在,并且你有足够的权限。
通过导航到
https://aka.ms/VsSignout
Azure DevOps 注销。在专用/隐身浏览器窗口中,导航到
https://aex.dev.azure.com/me
并登录。 请确保选择包含包含管道的组织的目录。在同一浏览器中,打开一个新选项卡并转到
https://slack.com
。 使用 Web 客户端登录到工作区,然后运行/azpipelines signout
后跟/azpipelines signin
。选择
Sign in
按钮。 如果重定向到同意页,请验证电子邮件地址旁显示的目录是否与你登录的目录匹配。