• jenkins构建失败发送消息告警


    0.获取admin的token

    1.告警脚本

    [root@VM-6-11-centos post_build]# cat sz_build.sh 
    #!/bin/bash
    JENKINS_URL=$3
    JOB_NAME=$4
    BUILD_NUMBER=$5
    #深圳团队
    userkey='425wob52-13dd-4shid-b708-75fd96fsbcf4'
    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:113cwob6e0b5c38shi788d6b936b7sbdc3 >/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}" = "FAILURE" ];then
    #f [ "${build_status}" = "FAILURE" ];then
    curl -i -X POST -H "'Content-type':'application/json'" -d '{ "msgtype": "text", "text": { "content": "'$1'环境 '$2' 
     源码分支: '${Branch}' 
     构建状态: '$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 uat-official-H5  ${JENKINS_URL} ${JOB_NAME} ${BUILD_NUMBER}

  • 相关阅读:
    索引访问方法及索引优化
    AS3常用的几个顶级类
    AS3随鼠标移动的蜘蛛
    as去掉字符串中的重复字符
    AS单例模式
    移动的云朵
    (转)探索C++的秘密之详解extern "C"
    (转)YUV / RGB 格式及快速转换算法
    (转)如何解決TRDBD5M CMOS在DE2 delay的問題?
    (转)存储器类型
  • 原文地址:https://www.cnblogs.com/hixiaowei/p/14207888.html
Copyright © 2020-2023  润新知