问题描述
在 Jenkins Pipeline 中,当构建完成后,我们希望发送消息到 Slack Channel 进行消息通知,以告知我们构建的结果。
这通过如下方式实现:调用 Slack 提供的 Web API,并传入相关参数(比如消息内容),消息将被发送到 Channel 中。很多沟通工具都支持该特性,比如 DingTalk、WxWork 等等。
该笔记将记录:在 Slack 中,如何通过 Web API(Webhooks)来向 Channel 发送自定义消息(其他通许工具也是类似的方法,其各自文档通常会有说明)。
解决方案
更多内容,参考 Enabling interactions with bots 文档,我们这里仅进行简单记录,该笔记以“能用就行”为目标。
第一步,访问 https://api.slack.com/apps 地址,Create an App,按照提示填写信息,完成 Slack App 创建:
然后,将自动进入应用设置界面,如下:
第二步,在应用设置界面中(Settings/Basic Information),选择 Add features add functionality / Incoming Webhooks 选项,并进行设置:
第三步,在 Incoming Webhooks 中,Add New Webhook to Workspace,以将应用加入 Channel 中:
在完成后,页面也会展示发送消息的 curl 命令示例:
常见问题记录
如何删除该应用?
1)访问地址 https://api.slack.com/apps
2)进入应用(点击 <App Name> 进入)
3)Settings / Basic Information / Delete App