# Jenkins插件

# 引言

  Jenkins作为开发必备之神器,各家大小公司都在使用。Jenkins自身内置了基于邮件推送构建结果的功能。但是随着移动互联网的发展,邮件这玩意已经越来越少使用了,是否有一种办法能把Jenkins构建结果直接推送到微信上,方便查看的工具呢。找了半天并没有找到一款太理想的工具,于是便自己开发了一款Jenkins插件来实现这样的功能。分享给大家,一起来使用!

# 使用步骤

# 1. 获取token和群组编码

  访问网址:http://www.pushplus.plus/push2.html (opens new window) 使用微信扫码即可登陆。

  然后新建一个群组。群组编码作为群组的唯一标示,后续需要使用。群组名称随意填写。

  创建成功之后点击群组上的“查看二维码”,将二维码发给需要加入群组的同事。以后推送的消息加入群组的用户都会收的到。在“订阅人”中可以主动的移除不想要的用户。 群组

  最后需要您的token和群组编码,在后续jenkins配置中使用。

# 2. 安装jenkins插件

  目前插件并没有发布到jenkins的官方插件库中,所以需要手动下载安装。后续我们将会推送到官方插件库中。
  jenkins插件下载地址:百度网盘:https://pan.baidu.com/s/1MON44GtnTNvxnqjtkb2oJg (opens new window) 提取码: x2u2

  下载完成之后,到jenkins中安装插件。手动安装点击: 系统管理(Manage Jeknis)->插件管理(Manage Plugins)->高级->上传插件 ;选择刚刚下载好的插件文件,点击上传。

  安装完成之后,需要重启jenkins,让插件生效。

  重启jenkins后,在插件管理->已安装 中能找到“pushPlus Plugin”就代表安装成功啦!

# 3. 配置jenkins

  插件安装完成之后还需要配置一些参数,才能正常推送消息。

  到 系统管理(Manage Jeknis)-> 系统设置(Configure System)->Extended Push+ 账号信息 中设置您的Jenkins地址和您push+的token值

  • 您的Jenkins URL地址 用于推送消息点击后跳转的链接地址

  • 您的Token 指的是pushplus分配给您的token,请到pushplus网站上获取,请务必填写正确

  然后就可以到您的具体构建任务中配置了。在构建后操作中把plusplus增加进来,然后填入您自己的群组编码,保存即可。

  如果您使用的是pipeline,插件也是支持的,语法如下:

post {
       always {         
           pushplus (
               "你的群组编码"
           )            
       }
   }

  然后就可以正常使用了。jenkins构建以后,微信上就会收到构建结果的推送消息了。点击消息内容,直接打开您的jenkins构建日志,方便排查构建结果。

# 实现原理

  Jenkins是对于插件提供了丰富的接口参数。pushplus插件本身在jenkins构建的时候触发执行,可以读取到构建有关的信息,如构建的项目名称、构建编号、构建状态等。然后在构建完成的时候将这些信息拼装后通过pushplus发送到用户的微信上。
  核心拼装执行了一个POST请求。pushplus接收到请求后针对性的调用了定制模板,通过微信模板消息接口发送到用户微信上。

  • 请求地址:http://www.pushplus.plus/send/{token}?template=jenkins
  • 请求方式:POST
  • Content-Type: application/json
  • 请求报文:
{
    "topic":"group",
    "title":"测试项目构建成功",
    "buildState":"构建成功",
    "projectName":"测试项目",
    "buildNumber":"#11",
    "buildUser":"pushplus",
    "buildLogUrl":"",
    "projectUrl":"",
    "costTime":"23"
}

后续会将插件代码开源出来,供大家学习参考。

更新时间: 2022/4/27 16:53:55