文章目录

  • 如何使用
    • 在linux 上安装python 环境
    • 发送消息python脚本
      • 把脚本上传倒linux上
      • jenkins 上执行脚本

如何使用

自定义机器人使用指南飞书官网https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot



在linux 上安装python 环境

yum install python3 python3-devel python3-pip
# 请求工具python3 -m pip install requests

发送消息python脚本

我这个设置了签名的,具体怎么设置签名可以查看飞书官方文档

#!/usr/bin/env python# -*- encoding:utf-8 -*-import sysimport requestsimport timeimport hashlibimport base64import hmacimport calendardef gen_sign(timestamp, secret):string_to_sign = '{}\n{}'.format(timestamp, secret)hmac_code = hmac.new(string_to_sign.encode("utf-8"), digestmod=hashlib.sha256).digest()# 对结果进行base64处理sign = base64.b64encode(hmac_code).decode('utf-8')return signJOB_URL = sys.argv[1]JOB_NAME = sys.argv[2]BUILD_NUMBER = sys.argv[3]isFinish = "开始构建" if str(sys.argv[4]) == str(0) else "构建完成"timestamp = str(calendar.timegm(time.gmtime()))currenttime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())sign_key = '你的签名'sgin = gen_sign(timestamp, sign_key)url = '你的webhook 地址'method = 'post'headers = {'Content-Type': 'application/json'}json = {"timestamp": "" + timestamp + "","msg_type": "interactive","sign": "" + sgin + "","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 + " "+isFinish+"","tag": "plain_text"}}}}requests.request(method=method, url=url, headers=headers, json=json)

把脚本上传倒linux上


可以看到上传去是没有执行权限的,一定要记得叫上执行权限

chmod +x sendMsg.py

jenkins 上执行脚本

# 最后一个参数标识 0 开始构建 1 构建完成# /opt/java/script/sendMsg.py这一段不要跟着我写 根据自己存放的位置和名字来python3 /opt/java/script/sendMsg.py $JOB_URL $JOB_NAME $BUILD_NUMBER 0