使用 Slack 创建用于 Azure DevOps 的服务挂钩
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
本文介绍如何将消息发布到 Slack,以响应 Azure DevOps 组织中的事件,例如已完成的生成、代码更改、拉取请求、发布、工作项更改等。
注意
对于 Azure DevOps Services,建议使用以下一套应用,这些应用提供与 Slack 集成的功能。
适用于 Slack 的 Azure Boards 应用
适用于 Slack 的 Azure Boards 应用有助于从 Slack 通道轻松创建和监视工作项。 可以使用斜杠命令创建工作项,或使用消息操作将通道中的对话转换为工作项。 还可以设置和管理订阅,以在创建或更新工作项时在其频道中获取通知。
适用于 Slack 的 Azure Pipelines 应用
适用于 Slack 的 Azure Pipelines 应用有助于轻松监视管道中的事件。 你可以为已完成的生成、发布、挂起的审批等从应用设置和管理订阅,并在其频道中获取这些事件的通知。 还可以从频道批准发布部署。
适用于 Slack 的 Azure Repos 应用
适用于 Slack 的 Azure Repos 应用有助于轻松监视存储库中的事件。 可以为代码提交、PR 创建和更新等设置和管理订阅,并在其频道中获取这些事件的通知。
先决条件
请参阅 Slack 文档,使用传入 Webhook 发送消息,以了解使用 WebHook 将信息推送到 Slack 通道的过程。
在 Slack 中创建自定义应用
创建新的 Slack 应用
激活传入的 Web 挂钩,并将新的 WebHook 添加到所需的工作区
选择必须为其创建 WebHook 的通道。
复制 Web 挂钩 URL 并转到 Azure DevOps。
在组织中创建服务挂钩订阅
转到项目 “服务挂钩 ”页。
https://{orgName}/{project_name}/_settings/serviceHooks
选择“创建订阅”。
选择要在 Slack 通道中显示的事件类型。
可以按特定方式筛选每个触发器。 例如,在发生拉取请求的存储库上筛选拉取请求创建的触发器、应用于的目标分支以及需要或受邀评审请求的团队成员。
粘贴你创建的 Slack 集成中的 Web 挂钩 URL,然后选择“ 完成”。
当事件发生在你的项目中时,团队的 Slack 频道中会显示一条通知。
常见问题
问:配置触发器时,为什么没有拉取请求事件作为选项?
答:拉取请求仅适用于使用 Git 的项目。 如果项目使用 TFVC,则拉取事件触发器不可用,并且代码事件称为“签入代码”,而不是“推送代码”。
问:如何获取多个事件以在 Slack 频道中显示?
答:为所需的每种类型的事件创建新订阅。 例如,如果要在 Slack 通道中看到生成失败和新工作项,请再创建两个订阅。