【Jenkins】Jenkins集成slack实现事件实时通知

本文做以下事情:

  • 一、首先创建Slack账号
  • 二、在Slack中配置Jenkins集成
  • 三、在Jenkins中安装Slack插件
  • 四、Create a Webhook by visiting Integrations
  • 五、Jenkins中配置Slack
  • 六、调试配置是否成功
  • 七、登录slack桌面程序,查看消息是否发送成功

一、创建Slack账号

链接:https://slack.com/ ,创建自己的Team(或加入其它Team)和Channel;

【Jenkins】Jenkins集成slack实现事件实时通知

二、在Slack中配置Jenkins集成

先登录Slack:https://my.slack.com/services/new/jenkins-ci

2.1 选择Channel

【Jenkins】Jenkins集成slack实现事件实时通知


2.2 生成对应Token

第一步:
【Jenkins】Jenkins集成slack实现事件实时通知
第二步:
【Jenkins】Jenkins集成slack实现事件实时通知
第三步:
生成对应的Token:

 Step 3的Base URL 和 Integration Token ,请先记住,后面第六步会用到

【Jenkins】Jenkins集成slack实现事件实时通知

三、在Jenkins中安装Slack插件


【Jenkins】Jenkins集成slack实现事件实时通知
第四步:在jenkins中配置slack notification
【Jenkins】Jenkins集成slack实现事件实时通知
第五步:
【Jenkins】Jenkins集成slack实现事件实时通知
第六步:
【Jenkins】Jenkins集成slack实现事件实时通知
第七步:
【Jenkins】Jenkins集成slack实现事件实时通知
第八步:

【Jenkins】Jenkins集成slack实现事件实时通知

四、Create a Webhook by visiting Integrations

在Slack中创建hook,使之前的 Integrations 生效

4.1 https://teamName.slack.com/apps/manage (teamName 是自己team名称),点击 Custom Integrations

如果没有则直接添加;
如果已存在,则点击右侧的“Incoming Webhooks”;

【Jenkins】Jenkins集成slack实现事件实时通知


4.2 点击Add Configuration


【Jenkins】Jenkins集成slack实现事件实时通知


4.3 选择Team中已存在的Channel


【Jenkins】Jenkins集成slack实现事件实时通知


4.4 生成Webhook URL


【Jenkins】Jenkins集成slack实现事件实时通知


五、Jenkins中配置Slack

可单个任务配置,也可进行全局设置。下面是单个任务配置

5.1 构建后操作选择Slack Notifications


【Jenkins】Jenkins集成slack实现事件实时通知


5.2 根据需求,勾选不同通知选项


【Jenkins】Jenkins集成slack实现事件实时通知


5.3 上图右下角有 高级… 按钮,高级配置


【Jenkins】Jenkins集成slack实现事件实时通知

说明:

A—上述2.3中的 Team Domain
B— 上述2.3中的 Integration Token
E— 上述2.1中的 Channel

其中B也可以通过D来管理,增加后,可在C中选择
添加D时,证书种类选择 Secret text

六、调试配置是否成功

上述均配置完成后,点击右下角的 Test Connection ,以下为成功和失败情况

【Jenkins】Jenkins集成slack实现事件实时通知


【Jenkins】Jenkins集成slack实现事件实时通知

七、查看slack桌面程序的消息是否发送成功;

【Jenkins】Jenkins集成slack实现事件实时通知


至此,Jenkins + Slack配置完成。

可以用于很多平台的集成,比如集成JIRA、API测试结果等等。

八、参考文档:

  1. https://testerhome.com/topics/11201
上一篇:【计算机网络】网络安全 : 对称密钥密码体质 ( 数据加密标准 DES | DES 加密过程 | DES 保密性 | 三重 DES 加密 )


下一篇:基于Consul的分布式锁实现