**脚本说明**
1、python版本:Python 3.6.9
2、jenkins(版本:Jenkins ver. 2.191) job构建成功后通过Post build Actions(中文:构建后操作
)发送构建结果给飞书群
3、👉:是emoji图片,默认飞书的卡片模式支持emoji图片,查看都有哪些emoji可以在txt中按"win+句号"
4、turquoise:颜色可以调整,具体支持颜色可以查看飞书开发文档
[飞书链接](https://open.feishu.cn/document/uAjLw4CM/ukzMukzMukzM/feishu-cards/enumerations-for-fields-related-to-color)
5、脚本message_body使用的是飞书卡片模块,关于飞书卡片具体样例,请查看飞书官方开发文档
[飞书链接](https://open.feishu.cn/document/uAjLw4CM/ukzMukzMukzM/feishu-cards/feishu-card-overview)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Author: jerrysspec
# Time: 2024/10/16
# File:
# DESC:
# Use a message card to send a flying book message notification.
import requests
import json
import sys
#
def push_report(web_hook,jenkins_result,job_name,build_id,branch_name,ftp_path,agent_name):
message_body = r'''
{
"config": {
"wide_screen_mode": true
},
"elements": [
{
"tag": "div",
"text": {
"content": "👉构建结果:%s\n👉构建Job名称: %s\n👉构建号:%s\n👉构建分支:%s\n👉FTP路径:%s\n👉构建节点:%s\n",
"tag": "lark_md"
}
},
{
"tag": "hr"
},
{
"actions": [
{
"tag": "button",
"text": {
"content": "查看日志",
"tag": "plain_text"
},
"type": "primary",
"url": "http://xxx.xxx.xxx.xxx.:8080/jenkins/job/%s/%s/console"
}
],
"tag": "action"
}
],
"header": {
"template": "turquoise",
"title": {
"content": "Jenkins构建通知",
"tag": "plain_text"
}
}
}
''' % (jenkins_result,job_name,build_id,branch_name,ftp_path,agent_name,job_name,build_id)
body = json.dumps({"msg_type": "interactive", "card": message_body})
headers = {"Content-Type": "application/json"}
res = requests.post(url=web_hook, data=body, headers=headers)
print(res.request.body)
print(res.text)
# main
if __name__ == '__main__':
jenkins_result = sys.argv[1]
job_name = sys.argv[2]
ftp_path = sys.argv[3]
build_id = sys.argv[4]
branch_name = sys.argv[5]
agent_name = sys.argv[6]
# 飞书地址
web_hook = "https://open.feishu.cn/open-apis/bot/v2/hook/{}".format(sys.argv[7])
push_report(web_hook,jenkins_result,job_name,build_id,branch_name,ftp_path,agent_name)
成功后效果如下: