【问题标题】:Posting build errors to slack or github将构建错误发布到 slack 或 github
【发布时间】:2017-06-08 18:33:15
【问题描述】:
我正在使用 Visual Studio Online 进行持续集成。我还启用了与 Slack(发布构建状态)和 GitHub(验证拉取请求)的集成。
在这两种集成中,我都缺少一个功能——将构建错误日志发布到 Slack 或 GitHub(例如,作为对拉取请求的评论)。这可能会大大缩短反应时间,因为您不需要转到失败的构建(通常重新登录到 VSO)、在日志中查找错误等。
你们中的任何人是否设法以某种方式使其工作?
【问题讨论】:
标签:
github
azure-devops
slack
azure-pipelines
【解决方案1】:
您可以使用web hook 将 VSTS 构建错误消息返回给 slack 或在 github 上执行一些操作(创建问题、关闭拉取请求等)。
先决条件:
VSTS 构建的 Web 挂钩失败。
开发一个网站来接收信息,排队 VSTS 构建并关闭 github 上的拉取请求。
使用Post To Slack 任务添加构建定义,当您的 VSTS 构建失败时,您的网站将排队此构建。
创建网络挂钩:
VSTS 项目 -> 服务挂钩 -> 创建订阅 -> Web 挂钩 -> 下一步 -> 选择构建完成以触发此事件 -> 选择您的 CI 构建定义 -> 将构建状态设置为失败 -> 下一步 -> 设置您的网址到 URL -> 测试它是否适用于您的网站 -> 完成。
在您的网站上开发功能:
在您的网站收到来自网络挂钩的消息后,触发以下操作:
-
REST API 使用 Post To Slack 任务对构建进行排队。
- 通过REST API v3关闭github上的拉取请求。