Mac配置Jenkins八:Jenkins构建失败时触发通知
前言
在使用curl的方式使用一台主Jenkins调用子Jenkins时,子Jenkins构建失败不知道,特需要在构建失败时触发消息通知
解决方案:
创建一个新的项目,该项目增加一个构建触发器,关注需要构建的项目
一、创建主项目 MyMainTest
二、创建通知项目 AlertFail
2.1 创建项目 2.2 设置构建触发器,配置关注的主项目 2.3 添加Build Steps 获取构建结果
: http://127.0.0.1:8080/job/xxxx/lastBuild/api/json
获取构建日志
: http://127.0.0.1:8080/job/xxx/lastBuild/consoleText
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 拉取构建结果
# curl -X GET "http://127.0.0.1:8080/job/关注的项目/lastBuild/api/json" --user username:usertoken
# 获取构建状态
statusStr=$(curl -X GET "http://127.0.0.1:8080/job/MyMainTest/lastBuild/api/json" --user jim:gdfgsfrte3454dgdfgf)
# 判断是否构建失败
findStr='"result":"FAILURE"'
if [[ $statusStr == *$findStr* ]]; then
echo "构建失败"
# 构建失败后发送
bot_token="345dsgf:ccfgdfgfgdgf_-io"
chat_id="3453456435ccc"
ios_sendTo=$chat_id
send_msg="@abc @123 iOS构建失败"
send_msg_encoded=$(perl -MURI::Escape -e "print uri_escape('${send_msg}');")
curl -s -X POST \
"https://api.telegram.org/bot${bot_token}/sendMessage?chat_id=${ios_sendTo}" -d parse_mode="HTML" -d text=${send_msg_encoded}
fi
This post is licensed under CC BY 4.0 by the author.