Mac配置Jenkins八:Jenkins构建失败时触发通知

前言

在使用curl的方式使用一台主Jenkins调用子Jenkins时,子Jenkins构建失败不知道,特需要在构建失败时触发消息通知

解决方案:

创建一个新的项目,该项目增加一个构建触发器,关注需要构建的项目

一、创建主项目 MyMainTest

jenkins8_alert0.png

二、创建通知项目 AlertFail

2.1 创建项目


jenkins8_alert1.png

2.2 设置构建触发器,配置关注的主项目


jenkins8_alert2.png

2.3 添加Build Steps


jenkins8_alert3.png

获取构建结果: http://127.0.0.1:8080/job/xxxx/lastBuild/api/json
获取构建日志: http://127.0.0.1:8080/job/xxx/lastBuild/consoleText


# 拉取构建结果
# 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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容