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}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App