Jenkins+飞书机器人发送通知

1. 在飞书群中添加自定义机器人
Jenkins+飞书机器人发送通知_第1张图片
Jenkins+飞书机器人发送通知_第2张图片
将这个webhook地址保存起来,后面需要用到
Jenkins+飞书机器人发送通知_第3张图片
2. Python发送通知的脚本
在部署Jenkins的服务器上创建一个目录,名称随意,创建feizhutongzhi.py脚本文件,需要将你的webhook地址拷贝到脚本中的url中


#!/usr/bin/env python
#-*- encoding:utf-8 -*-

import sys

import requests

import time

JOB_URL = sys.argv[1]
JOB_NAME = sys.argv[2]
BUILD_NUMBER = sys.argv[3]
currenttime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
url = '你的webhook地址'
method = 'post'
headers = {
    'Content-Type': 'application/json'
}
json = {
    "msg_type": "interactive",
    "card": {
        "config": {
            "wide_screen_mode": True,
            "enable_forward": True
        },
        "elements": [{
            "tag": "div",
            "text": {
                "content": "项目名称:" + JOB_NAME + "\n构建编号:第" + BUILD_NUMBER + "次构建\n运行时间:" + currenttime,
                "tag": "lark_md"
            }
        }, {
            "actions": [{
                "tag": "button",
                "text": {
                    "content": "查看报告",
                    "tag": "lark_md"
                },
                "url": JOB_URL,
                "type": "default",
                "value": {}
            }],
            "tag": "action"
        }],
        "header": {
            "title": {
                "content": JOB_NAME + " 构建报告",
                "tag": "plain_text"
            }
        }
    }
}
requests.request(method=method, url=url, headers=headers, json=json)

运行Python脚本语言需要一些环境,我使用Python3

安装Python3的工具

yum install python3 python3-devel python3-pip
python3 -m pip install requests

3. Jenkins项目中添加配置

在配置中的构建中 加上一行命令即可

python3 /usr/local/jenkinsInfo/feishutongzhi.py $JOB_URL $JOB_NAME $BUILD_NUMBER

Jenkins+飞书机器人发送通知_第4张图片
构建完成之后,飞书群中就能收到对应的消息:

点击“查看报告”可以跳转到Jenkins
Jenkins+飞书机器人发送通知_第5张图片

你可能感兴趣的:(jenkins,运维)