jenkins shell脚本
#!/bin/bash
# 查看coverity job错误信息
blackduck_binary_list="job1 job2 job3 。。。"
#for variable in $blackduck_binary_list
do
# curl命令获取Jenkins job最后一次构建的控制台日志完整输出
# curl -s -o build.tmp -X GET http:/ip:port/job/$variable/lastBuild/consoleText --user jenkins账号:密码
#curl命令获取Jenkins job最后一次构建的控制台日志文本输出,grep -a 不要忽略二进制数据
STR_ERROR=$(curl -X GET http://ip:port/job/$variable/lastBuild/consoleText --user jenkins账号:密码|grep -a -i ERROR)
#获取console log里带有“error”总数
ERROR_count_number=$(curl -X GET http://ip:port/job/$variable/lastBuild/consoleText --user jenkins账号:密码|grep -a -i ERROR|wc -l)
#过滤掉不是问题的error条件
str1="ERROR"
str2="COPY_PASTE_ERROR"
str3="errors"
str4="Automatically trusting server certificates - not recommended for production use"
str5="errors"
str6="Fix sec build error of missing hutool"
#过滤coverity
if [[ "$STR_ERROR" =~ $str2 ]] && [[ "$ERROR_count_number" == "1" ]];then
echo -e "\033[32m【 =========================$variable 运行OK. ===================================================== 】\033[0m"
elif [[ "$STR_ERROR" =~ $str2 ]] && [[ "$STR_ERROR" =~ $str3 ]] && [[ "$ERROR_count_number" == "2" ]];then
echo -e "\033[32m【 =========================$variable 运行OK. ================