天天看点

Jenkins任务构建后notification形式通知到手机

Google Cloud Messsaging Notification Plugin

前言:构建任务后希望能及时得到构建结果,发送邮件只能上班时会看到,因此希望能在手机上及时得到结果

当然以notification形式如果手机没开网络的话也常常是不能及时收到的,若有发短信的接口当然更好了,这里是求其次的方案

GCM插件还有个好处是点击通知后,可以直接在手机浏览器上打开Jenkins(前提是手机网络能访问Jenkins,即处于同一内网环境或Jenkins可通过外网访问)

配置需求

1.Jenkins 1.466+版本

2.一个google账号

3.运行android2.2或以上以上系统的终端手机设备

4.在手机上能访问Jenkins(例如与Jenkins处于同一内网环境,可直接访问Jenkins链接)

Jenkins端配置

1.安装Google Cloud Messsaging Notification Plugin插件

2.安装好插件后注册登录google apis账户

https://code.google.com/apis/console/

3.创建一个新的project

4.选择左边Services项,右边Google Cloud Messaging for Android置为on

5.选择左边API Access项,创建一个新的Server Key并记录下"API key"的值

6.在Overview页, 记录下"Project Number"的值

7.进入Jenkins的Manage Jenkins → Configure System页面,Google Cloud Messaging Notifications项填入相应的project number和app API key

android手机终端配置

1.下载并安装BuildWatch应用

2.在Jenkins中以用户形式登录

3.登录后点击右上角用户名,进入个人页面,点击左边“设置”

4.在Google Cloud Messaging Token项中点击“show QR code”

5.启动手机上的BuildWatch应用,点击Auto setup(若没有安装条码扫描器,会提示安装,请先安装条码扫描器),扫描Jenkins中的二维码即可获得token

6.在要构建的项目中,配置里输入要发送的用户名,构建后即可在手机终端收到通知了

Jenkins任务构建后notification形式通知到手机

官网WIKI

https://wiki.jenkins-ci.org/display/JENKINS/GCM+Notification+Plugin

问题:

运行过程中报错:

com.google.android.gcm.server.InvalidRequestException: HTTP Status Code: 401

解决:

由于发送限制,通知发送不成功了

登录google apis账户,进入API Access 在Edit allowed IPs中不输入任务IP,即允许任何IP

继续阅读