将 Azure Pipelines 与 Slack 配合使用
Azure DevOps Services
使用适用于 Slack 的 Azure Pipelines 应用,Slack 用户可以轻松跟踪其管道中发生的事件。 该应用允许用户建立和监督各种管道事件(例如生成、发布、待审批等)的订阅。 然后将这些事件的通知直接传送到用户的 Slack 通道
注意
此功能仅适用于 Azure DevOps Services。 通常,新功能首先会在云服务中引入,然后在 Azure DevOps Server 的下一个主要版本或更新中本地提供。 有关详细信息,请参阅 Azure DevOps 功能时间表。
先决条件
- 在 Slack 中,需要具有将应用安装到 Slack 工作区的权限。
- 对于 Azure DevOps,需要在项目集合管理员或项目管理员组中设置 Slack 订阅。
安装 Azure Pipelines 应用
导航到 Azure Pipelines Slack 应用,将 Azure Pipelines 应用安装到你的 Slack 工作区。 添加后,你会看到来自该应用的欢迎消息,如下所示。 使用 /azpipelines
句柄开始与该应用交互。
连接到管道
在 Slack 工作区中安装该应用后,可以将该应用连接到你要监视的任何管道。 在运行任何命令之前,系统会要求你向 Azure Pipelines 进行身份验证。
若要开始监视项目中的所有管道,请在通道内使用以下斜杠命令:
/azpipelines subscribe [project url]
项目 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
此命令列出通道的所有当前订阅,并允许添加或删除订阅。
注意
团队管理员无法删除或修改项目管理员创建的订阅。
自定义订阅
默认情况下,在订阅管道时,会生成多个未应用任何筛选器的订阅。 但是,用户通常希望根据自己的喜好来个性化这些订阅。 例如,用户可能希望仅在生成失败或部署到生产环境时收到通知。 Azure Pipelines 应用提供了用于应用筛选器的选项,使用户能够自定义他们在通道中接收的消息。 若要自定义订阅,请执行以下操作:
运行
/azpipelines subscriptions
命令以列出所有订阅。选择“添加订阅”。
选择要订阅的事件,然后选择所需的配置。
完成时选择“保存” 。
示例:仅在生成失败时接收通知
批准部署
可以在 Slack 通道中审批部署,而无需导航到 Azure Pipelines 门户,方法是订阅“发布部署待审批”通知(经典发布)或“运行阶段等待审批”通知(YAML 管道)。 在订阅管道时,默认会创建这两个订阅。
使用适用于 Slack 的 Azure Pipelines 应用,可以处理 Azure Pipelines 门户中可用的所有检查和审批方案。 这包括单个审批者、多个审批者和基于团队的审批方案。 可以选择单独或代表团队审批请求。
删除所有订阅
若要整理通道,可以使用以下命令取消订阅项目中的所有管道。 例如:/azpipelines unsubscribe all https://dev.azure.com/myorg/myproject。
/azpipelines unsubscribe all [project url]
重要
只能由项目管理员执行此命令。
命令参考
下面是适用于 Slack 的 Azure Pipelines 应用支持的所有命令:
斜杠命令 | 功能 |
---|---|
/azpipelines subscribe [pipeline url/ 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 应用。
- 用户必须是包含该管道的项目的管理员才能设置订阅
- 直接消息中目前不支持通知
- 不支持应用了“在完成审批之前重新验证审批者的标识”策略的部署审批
- 必须启用“通过 OAuth 访问第三方应用程序”才能在 Azure DevOps 中接收组织通知(“组织设置”->“安全”->“策略”)
故障排除
如果在使用适用于 Slack 的 Azure Pipelines 应用时遇到以下错误,请执行本部分所述的过程。
很抱歉,出现了问题。 请重试
Azure Pipelines 应用使用 OAuth 身份验证协议,并且需要启用通过 OAuth 访问第三方应用程序。 若要启用此设置,请导航到“组织设置”>“安全”>“策略”,并启用“在组织中通过 OAuth 访问第三方应用程序”。
配置失败。 请确保该组织存在,并且你拥有足够的权限
导航以下此 URL 以从 Azure DevOps 注销:https://aka.ms/VsSignout
。
打开私密/隐身模式的浏览器窗口,然后导航到 https://aex.dev.azure.com/me
并登录。 选择包含你要订阅的管道所在组织的目录。
使用同一浏览器打开一个新选项卡,然后转到 https://slack.com
。 使用 Web 客户端登录到工作区,然后运行 /azpipelines signout
命令并在其后面加上 /azpipelines signin
。
选择 Sign in
按钮,随即你将重定向到同意页,如以下示例所示。 确认电子邮件地址旁边显示的目录与在上一步骤中选择的目录匹配。 选择“接受”以完成登录过程。
相关文章
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈