JenkinsPipeline发送Slack通知
问题描述
在 Jenkins Pipeline 中,当构建完成后,我们希望发送消息到 Slack Channel 进行消息通知,以告知我们构建的结果。
该笔记将记录:在 Jenkins Pipeline 中,如何使用 Slack 发送构建通知。
解决方案
第一步、准备工作
在 Slack 中,创建应用,参考 Slack/Notification Bot 笔记。
访问https://api.slack.com/apps 页面,查看已经创建的应用。点击 <应用名称> 进入,以进行设置。
第二步、安装 Slack Notification 插件
在 Manage Jenkins / Manae Plugins / Available 中,搜索 Slack Notification 以查找 Slack Notification 扩展。
第三步、配置 Slack Notification 插件
在 Manage Jenkins / Configure System / Slack 中,填写相关信息:
1)Workspace:在创建 Slack 帐号时,使用的工作空间名称。在https://k4nz.slack.com/admin/name 中查看,其实域名中的 k4nz 便是我们 Workspace 名称;
2)Credential:凭证信息。
3)Default channel:默认 Channel 名称。注意,如果需要该应用向 Channel 中发送消息,需要将该应用邀请到 Channel 中(比如通过 @ 方式邀请)
4)Custom slack app bot user:必须勾选,否则 Test Connection 失败(原因我们也不是非常清楚)。
5)点击 Test Connection 测试。如果成功,则在默认 Channle 会收到一条消息,否则显示 Failure 信息;
第四步、在 Pipeline 中,向 Channel 发送消息
pipeline{agentanystages{stage(Building){steps{slackSendchannel: "general", color: "good", message: "Message from Jenkins Pipeline"}}}}
关于 slackSend 步骤,参考 Slack Notification Plugin 文档。
相关文章
「Jenkins Pipeline」- 发送 IRC 消息
参考文献
Slack Notification | Jenkins pluginResponse: null, Response Code: 404 and Response: {"ok":false,"error":"invalid_auth"} · Issue 649 · jenkinsci/slack-pluginJenkins Slack Integration | Baeldung