jenkins構建失敗發送消息告警


0.獲取admin的token

 

 

1.告警腳本

[root@slave1 do1cloud]# cat /do1cloud/post_build/sz_build.sh
#!/bin/bash
JENKINS_URL=$3
JOB_NAME=$4
BUILD_NUMBER=$5
#深圳團隊
userkey='425wob52-1sdd-47hd-bi08-75fd9sb3ecf4'
time=`date +%Y%m%d-%H:%M:%S`

#獲取Jenkins Job API, --user 添加jenkins管理員用戶和token, 用戶→用戶id→設置頁面中查看
curl -s -o .temp.xml "$JENKINS_URL/job/$JOB_NAME/$BUILD_NUMBER/api/xml" --user admin:119c145e6sba97c32e58e85080a47fc0eb >/dev/null

#需要先安裝xml2工具,yum -y install xml2
action=`cat .temp.xml | xml2 | grep /freeStyleBuild/action/cause/shortDescription= | awk -F= '{print $2}'`

#獲取job的build狀態
build_status=`cat .temp.xml | xml2 | grep /freeStyleBuild/result= | awk -F= '{print $2}'`

developer=`cat .temp.xml | xml2 | grep /freeStyleBuild/culprit/fullName= | awk -F= '{print $2}'`

#發送群消息

##wechat發送方式
#curl -d "displayname=DEMO&content=Job: $JOB_URL | Operator: $operate_user | Status: $build_status | Jenkins." http://wechat.glinux.top:81/openwx/send_group_message

if [ "${build_status}" = "SUCCESS" ];then
#f [ "${build_status}" = "FAILURE" ];then
curl -i -X POST -H "'Content-type':'application/json'" -d '{ "msgtype": "text", "text": { "content": "'$1'環境 '$2' \n 源碼分支: '${Branch}' \n 構建狀態: '$build_status'", "mentioned_list":["wangqing",""], "mentioned_mobile_list":["",""] } }' https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=$userkey
exit 1
fi
##清理現場
#rm -rf .temp.xml .groupinfojson

2.在Jenkins安裝插件 Post build task

3.構建后執行的腳本

 

bash  -x   /do1cloud/post_build/sz_build.sh  UAT ${JOB_NAME}  ${JENKINS_URL} ${JOB_NAME} ${BUILD_NUMBER}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM