【Jenkins】Jenkins构建结果通知企业微信



前言

开发过程中, Jenkins自动构建我们没有精力去时刻关注构建状态, 此时的企业微信机器人通知就派上了用场

一、群聊添加企业微信机器人

群聊新建一个企业微信机器人
群聊添加企业微信机器人
将机器人的WebHook地址记录下来备用
在这里插入图片描述

二、安装插件

获取构建用户变量 需安装插件:build user vars
获取构建时间变量 需安装插件:Build Timestamp
且必须启用
在这里插入图片描述

三、编写Jenkins脚本

  • CHAT_WEBHOOK_URL 就是你的企业微信机器人WebHook地址
  • postsuccessfailure 可以按照你自己的需求设置更多 ,always / aborted / unstable 等状态同理, 可以按需添加和修改.
  • Markdown里面的文字颜色建议使用 <font color=#696969>这种16进制格式的, 请勿使用 <font color=\"Red\"><font color="Red">等带双引号的, 可能会导致转义失败.
pipeline {
    agent any 
    environment {
        CHAT_WEBHOOK_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=*******************"
        JOB_NAME="${JOB_BASE_NAME}"
        BUILD_NUM="$BUILD_NUMBER"
        BUILD_TIME="$BUILD_TIMESTAMP"
        URL_JOB="${BUILD_URL}"
        URL_LOG="${BUILD_URL}console"
    }
    stages {
        stage('ready') {
            steps {
                echo '准备阶段, '
                sh '''
                curl "${CHAT_WEBHOOK_URL}" \
                -H "Content-Type: application/json" \
                -d '
                   {
                        "msgtype": "markdown",
                        "markdown": {
                         "content": "<font color=#FFA500>**Jenkins任务构建开始通知**</font>
                         >构建时间:<font color=#696969>'"${BUILD_TIME}"'</font>
                         >任务名称:<font color=#696969>'"${JOB_NAME}"'</font>
                         >任务地址:[点击查看]('"${URL_JOB}"')
                         >构建日志:[点击查看]('"${URL_LOG}"')
                         >构建状态:<font color=#0000FF>**Running**</font>"
                        }
                   }
                '
                '''
            }
        }
        stage('build') {
            steps {
                echo 'hello world!'
            }
        }
    }
     post{
        success{
            sh '''
            curl "${CHAT_WEBHOOK_URL}" \
            -H "Content-Type: application/json" \
            -d '
               {
                    "msgtype": "markdown",
                    "markdown": {
                     "content": "<font color=#FFA500>**Jenkins任务构建结果通知**</font>
                     >构建时间:<font color=#696969>'"${BUILD_TIME}"'</font>
                     >任务名称:<font color=#696969>'"${JOB_NAME}"'</font>
                     >任务地址:[点击查看]('"${URL_JOB}"')
                     >构建日志:[点击查看]('"${URL_LOG}"')
                     >构建状态:<font color=#008000>**Success**</font>"
                    }
               }
            '
            '''
        }
        failure{
            sh '''
            curl "${CHAT_WEBHOOK_URL}" \
            -H "Content-Type: application/json" \
            -d '
               {
                    "msgtype": "markdown",
                    "markdown": {
                     "content": "<font color=#FFA500>**Jenkins任务构建结果通知**</font>
                     >构建时间:<font color=#696969>'"${BUILD_TIME}"'</font>
                     >任务名称:<font color=#696969>'"${JOB_NAME}"'</font>
                     >任务地址:[点击查看]('"${URL_JOB}"')
                     >构建日志:[点击查看]('"${URL_LOG}"')
                     >构建状态:<font color=#FF0000>**Failure**</font>"
                    }
               }
            '
            '''
        }
    }
}

构建结果样例

  • 构建开始
    在这里插入图片描述

  • 构建失败
    在这里插入图片描述

  • 构建成功
    在这里插入图片描述

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值