当前位置: 首页 > news >正文

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

直接上代码

```python
"""
飞书群机器人发送通知
"""
import time
import urllib3
import datetimeurllib3.disable_warnings()class DingTalkRobotAlert():def __init__(self):self.webhook = webhook_urlself.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)passdef 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)returnif __name__ == '__main__':a = DingTalkRobotAlert()a.send_message('你的项目名称GoGoGo', 4, 4, 0, 0)

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

http://www.lryc.cn/news/474301.html

相关文章:

  • 防火墙技术应用
  • docker engine stopped
  • Redis- 内核的分配内存限制的警告“WARNING Memory overcommit must be enabled!”
  • 腾讯云在线扩容数据盘
  • Time Travel Queries|在 RisingWave 中访问历史数据
  • Unity之UnityWebRequest
  • 使用 pkg 打包 Puppeteer 应用:跨平台自动化的轻量级选择
  • 【Flask】三、Flask 常见项目架构
  • AI机西使用体验:你不知道的强大功能揭秘!
  • 什么是护网(HVV)需要什么技术?(内附护网超全资料包)
  • opencv优秀文章集合
  • php处理文件上传的五种方式
  • C#与C++交互开发系列(十一):委托和函数指针传递
  • 【window】补充一些powershell基本命令
  • 精准触达用户,私域三步法!
  • Tcl脚本介绍(一)
  • 安全运营 -- 监控linux命令history
  • MyBatis3(动态SQL 常用的动态SQL 元素 映射器注解 基本注解 结果映射注解)
  • C#自定义事件的案例
  • flume系列之:flume机器做条带划分提高磁盘性能和吞吐量的详细步骤
  • C++基于opencv的视频质量检测--图像清晰度检测
  • 力扣11.1
  • 打印室预约系统|基于java和小程序的打印室预约系统设计与实现(源码+数据库+文档)
  • 操作系统-多线程案例
  • 什么是FUSE用户态文件系统
  • [每日一练]销售分析(通过数据的0/1转换进行是否存在的查询)
  • .NET Core WebApi第7讲:项目的发布与部署
  • 【python 将数据写入csv文件】正确方式
  • OpenCV4.8 开发实战系列专栏之 10 - 像素值统计
  • pandas计算相关性并画热力图