python实现钉钉群机器人消息通知(消息卡片)

直接上代码

```python
"""
飞书群机器人发送通知
"""
import time
import urllib3
import datetime


urllib3.disable_warnings()


class DingTalkRobotAlert():
    def __init__(self):
        self.webhook = webhook_url
        self.headers = {Content-Type: application/json; charset=UTF-8}

    def post_to_robot(self, post_data):
        '''
        给钉钉机器人发送请求
        :param data:
        :return:
        '''
        try:
            resp = requests.request(method="POST", url=self.webhook, data=post_data, headers=self.headers).json()
            if resp.get("status_code") == 200:
                Logger.info(f"钉钉通知发送成功,msg={resp}")
            else:
                Logger.warning(f"钉钉通知发送失败,{resp}")
        except Exception as e:
            Logger.warning("钉钉通知发送异常")
            Logger.warning(e)
            pass

        def send_message(self, proj_name, total, passed, failed, skipped, adress):

        # 钉钉机器人通知标题
        robot_alert_title = "自动化报告"
        # 自定义钉钉通知内容
        robot_alert_content = '<font color="#dd0000">🌟ddd!自动化执行情况反馈,请相关测试童鞋注意👏!并及时跟进💪!</font>'
        execute_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        btns = [{"title": "allure报告,请点击查看", "actionURL": adress}]
        text = (
            f"### {robot_alert_content}\n\n"
            f"> - **用例执行完毕时间:** <font color='#228B22'>{execute_time}</font>\n"
            f"> - **项目名称:** <font color='#228B22'>{proj_name}</font>\n"
            f"> - **用例总数:** <font color='#228B22'>{total}</font>\n"
            f"> - **通过用例数:** <font color='#228B22'>{passed}</font>\n"
            f"> - **失败用例数:** <font color='#228B22'>{failed}</font>\n"
            f"> - **跳过用例数:** <font color='#228B22'>{skipped}</font>\n"
        )
        actioncard = {"title":robot_alert_title,
                                "text":text,
                                "btns":btns,
                                "btn_orientation":"1",
                                "hide_avatar":"1"}
        card = {
            "msgtype": "actionCard",
            "actionCard": actioncard
        }

        msg_body = json.dumps(card)
        self.post_to_robot(data=msg_body)
        return


if __name__ == '__main__':
    a = DingTalkRobotAlert()
    a.send_message('你的项目名称GoGoGo', 4, 4, 0, 0)

运行后钉钉消息卡片如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/906176.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

32位汇编——通用寄存器

通用寄存器 什么是寄存器呢&#xff1f; 计算机在三个地方可以存储数据&#xff0c;第一个是把数据存到CPU中&#xff0c;第二个把数据存到内存中&#xff0c;第三个把数据存到硬盘上。 那这个所谓的寄存器&#xff0c;就是CPU中用来存储数据的地方。那这个寄存器有多大呢&a…

强大的接口测试可视化工具:Postman Flows

Postman Flows是一种接口测试可视化工具&#xff0c;可以使用流的形式在Postman工作台将请求接口、数据处理和创建实际流程整合到一起。如下图所示 Postman Flows是以API为中心的可视化应用程序开发界面。它提供了一个无限的画布用于编排和串连API&#xff0c;数据可视化来显示…

JavaScript 实战技巧:让你成为前端高手的必备知识3(进阶版)

一、DOM概述 &#xff08;一&#xff09;DOM操作 是指使用‌JavaScript操作文档对象模型&#xff08;Document Object Model&#xff09;的过程。‌文档对象模型是一种表示网页文档结构的方式&#xff0c;它将整个网页文档表示为一个树形结构&#xff0c;每个元素都是一个节点…

Python 网络爬虫教程:从入门到高级的全面指南

Python 网络爬虫教程&#xff1a;从入门到高级的全面指南 引言 在信息爆炸的时代&#xff0c;网络爬虫&#xff08;Web Scraping&#xff09;成为了获取数据的重要工具。Python 以其简单易用的特性&#xff0c;成为了网络爬虫开发的首选语言。本文将详细介绍如何使用 Python …

【抖音】a_bogus参数逆向分析

抖音回复评论&#xff1a; 点击——展开xxx条回复﹀就会出现 https://www.douyin.com/aweme/v1/web/comment/list/reply 直接搜又搜不到 分析调用堆栈 可以看到这个栈是有请求相关的数据的 上面一个栈 所以就是在bdms.js里面生成的 就在这里打上日志断点&#xff1a;“T…

基于SpringBoot的宠物健康咨询系统的设计与实现

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;宠物健康知识信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行处理不…

基于大语言模型(LLM)自主Agent 智能体综述

近年来,LLM(Large Language Model)取得了显著成功,并显示出了达到人类智能的巨大潜力。基于这种能力,使用LLM作为中央控制器来构建自助Agent,以获得类人决策能力。 Autonomous agents 又被称为智能体、Agent。指能够通过感知周围环境、进行规划以及执行动作来完成既定任务。…

jmeter脚本-请求体设置变量and请求体太长的处理

目录 1、查询接口 1.1 准备组织列表的TXT文件&#xff0c;如下&#xff1a; 1.2 添加 CSV数据文件设置 &#xff0c;如下&#xff1a; 1.3 接口请求体设置变量&#xff0c;如下&#xff1a; 2、创建接口 2.1 见1.1 2.2 见1.2 2.3 准备创建接口的请求体TXT文件&#xff…

elasticsearch 8.x 插件安装(六)之Hanlp插件

elasticsearch 8.x 插件安装&#xff08;六&#xff09;之Hanlp插件 elasticsearch插件安装合集 elasticsearch插件安装&#xff08;一&#xff09;之ik分词器安装&#xff08;含MySQL更新&#xff09; elasticsearch 8.x插件&#xff08;二&#xff09;之同义词安装如何解决…

2024Python安装与配置IDE汉化教程

【一】Python解释器下载【运行环境】 【1】Python官网 [https://www.python.org]&#xff08;官网进不去的可以点击点击领取&#xff0c;100%免费&#xff01;安装包&#xff09; 包含编程资料、学习路线图、源代码、软件安装包等&#xff01;【[点击这里]】&#xff01; 【…

华为自研仓颉编程语言官网上线 首个公测版本开放下载

仓颉编程语言官网正式公开上线&#xff0c;同时首个公测版本开放下载。本次仓颉编程语言官网上线了首页、在线体验、文档、学习、下载、动态以及三方库共六个模块&#xff0c;可供开发和学习和体验。 据悉&#xff0c;仓颉编程语言是在今年6月的华为开发者大会上正式公布&…

论文翻译 | PROMPTAGATOR : FEW-SHOT DENSE RETRIEVAL FROM 8 EXAMPLES

摘要 最近的信息检索研究主要集中在如何从一个任务&#xff08;通常有丰富的监督数据&#xff09;转移到其他各种监督有限的任务上&#xff0c;其隐含的假设是从一个任务可以泛化到所有其他任务。然而&#xff0c;这忽略了这样一个事实&#xff0c;即存在许多多样化和独特的检索…

Virtuoso使用layout绘制版图、使用Calibre验证DRC、LVS、PEX抽取RC

1 绘制版图 1.1 进入Layout XL 绘制好Schmatic后&#xff0c;在原理图界面点击Launch&#xff0c;点击Layout XL进入版图绘制界面。 1.2 导入元件 1、在Layout XL界面左下角找到Generate All from Source。 2、在Generate Layout界面&#xff0c;选中“Instance”&#…

微信小程序服务通知

项目中用到了小程序的服务消息通知&#xff0c;通知订单状态信息&#xff0c;下边就是整理的一下代码&#xff0c;放到项目中&#xff0c;把项目的小程序appid和小程序的secret写进去&#xff0c;直接运行即可 提前申请好小程序服务信息通知短信模板&#xff0c;代码需要用到模…

QT(图表)

目录 QChart的继承关系 基本组件和概念 常见图表类型及其系列类 常用的图表配置 一、折线图示例 二、柱状图示例 三、饼图示例 四、类波形图&#xff08;折线图&#xff09;示例 QChart 模块提供了直观的图表绘制接口&#xff0c;支持创建各种常见的图表类型&#xff0…

day13:FTP服务

一&#xff0c;FTP概述 概述 FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09;是用于在计算机之间传输文件的协议。它工作在网络的应用层&#xff0c;通过 TCP 协议进行数据传输&#xff0c;默认端口号为 21&#xff08;命令端口&#xff0c;另外…

2024年末Meme币市场分析:最后两个月的走势预测

进入2024年最后的两个月&#xff0c;Meme币市场正面临复杂的内外部环境&#xff0c;行情波动增大&#xff0c;许多投资者希望对年底走势做出预测&#xff0c;以便更好地调整投资策略。在这篇文章中&#xff0c;我们将从市场情绪、监管政策、技术创新和宏观经济等几个关键因素出…

ssm+vue657基于spring和vue开发的web新闻流媒体平台

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm 等开发框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

家电智能屏方案新选择,乐鑫SoC高集成触控语音控制,启明云端乐鑫代理商

随着科技的飞速发展&#xff0c;智能家居系统正逐渐成为现代生活的一部分。在这一变革中&#xff0c;LCD屏幕作为人机交互的核心界面&#xff0c;扮演着至关重要的角色。 它们不仅提供实时信息的展示&#xff0c;还支持丰富的交互式体验&#xff0c;使得家庭管理变得更加直观和…

ceph补充介绍

SDS-ceph ceph介绍 crushmap 1、crush算法通过计算数据存储位置来确定如何存储和检索&#xff0c;授权客户端直接连接osd 2、对象通过算法被切分成数据片&#xff0c;分布在不同的osd上 3、提供很多种的bucket&#xff0c;最小的节点是osd # 结构 osd (or device) host #主…