向飞书群发送消息

**脚本说明**
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)

成功后效果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值