archery-工单通知飞书

2023-10-09 01:30
文章标签 通知 工单 archery

本文主要是介绍archery-工单通知飞书,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、背景

因为业务需求,需要sql工单通知到飞书

二、配置

1.系统管理–>配置项管理

archery_base_url: archery服务器的ip和端口
在这里插入图片描述

2.系统管理–>资源组管理

2.1填写webook地址
如何获取webook请参考:
https://blog.csdn.net/line_on_database/article/details/119947755
在这里插入图片描述

三、遇到的问题与解决

1.问题

飞书收不到sql工单消息,日志也没有报错

2.原因

新版飞书消息格式有变化,老版本的不兼容,所以需要修改下archery的源码

3.修改代码

vi /opt/archery/common/utils/sendmsg.py
在这里插入图片描述

    @staticmethoddef send_feishu_webhook(url, title, content):data = {"title": title, "text": content}if "/v2/" in url:if "已正常结束" not in title:data = {"msg_type": "post","content": {"post": {"zh_cn": {"title": title,"content": [[{"tag": "text", "text": content}]],}}},}else:# 向飞书发送卡片模式的通知content_new = content.split('\n')content_new_con = content_new[:-1]content = {}is_split = Truefor new_detail in content_new_con:if is_split:con_key = new_detail.split(':')if con_key[0] != "ticket_detail":content[con_key[0]] = con_key[1]else:# 这么处理是防止sql中存在特殊符号的问题以及工单有多条sql的问题sql_all = ":".join(con_key[1:])is_split = Falseelse:sql_all += new_detailcontent["ticket_detail"] = sql_allcontent_all = []for i, j in content.items():content_text = "**" + i + "**: " + jcontent_all.append({"tag": "div","text": {"content": content_text,"tag": "lark_md"}})content_head = [{"tag": "hr"}]content_end = [{"tag": "hr"}, {"actions": [{"tag": "button","text": {"content": "View ticket details","tag": "lark_md"},"url": content["ticket_address"],"type": "default","value": {}}],"tag": "action"}]content_all = content_head + content_all + content_enddata = {"msg_type": "interactive","card": {"config": {"wide_screen_mode": True,"enable_forward": True},"header": {"title": {"content": title,"tag": "plain_text"}},"elements": content_all}}

4.github地址

https://github.com/hhyo/Archery/issues/1016
https://github.com/hhyo/Archery/commit/66ec48f4ac4c521722536cfdf3ce58bd442ba734

这篇关于archery-工单通知飞书的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/169387

相关文章

如何关闭Mac的Safari通知? 3招教你关闭Safari浏览器网站通知的技巧

《如何关闭Mac的Safari通知?3招教你关闭Safari浏览器网站通知的技巧》当我们在使用Mac电脑专注做一件事情的时候,总是会被一些消息推送通知所打扰,这时候,我们就希望关闭这些烦人的Mac通... Safari 浏览器的「通知」功能本意是为了方便用户及时获取最新资讯,但很容易被一些网站滥用,导致我们

Java 的 Condition 接口与等待通知机制详解

《Java的Condition接口与等待通知机制详解》在Java并发编程里,实现线程间的协作与同步是极为关键的任务,本文将深入探究Condition接口及其背后的等待通知机制,感兴趣的朋友一起看... 目录一、引言二、Condition 接口概述2.1 基本概念2.2 与 Object 类等待通知方法的区别

嵌入式Linux驱动中的异步通知机制详解

《嵌入式Linux驱动中的异步通知机制详解》:本文主要介绍嵌入式Linux驱动中的异步通知机制,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、异步通知的核心概念1. 什么是异步通知2. 异步通知的关键组件二、异步通知的实现原理三、代码示例分析1. 设备结构

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

一文详解Java Condition的await和signal等待通知机制

《一文详解JavaCondition的await和signal等待通知机制》这篇文章主要为大家详细介绍了JavaCondition的await和signal等待通知机制的相关知识,文中的示例代码讲... 目录1. Condition的核心方法2. 使用场景与优势3. 使用流程与规范基本模板生产者-消费者示例

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

AOP之执行前通知@Before

Spring AOP之执行前通知@Before 此文章说一下执行前通知,即注解@Before。 作用 多用于日志记录、权限校验、初始化资源等。 触发时间 目标函数执行触发。 定义 public class AopBeforeAspect {@Before("execution(public * com.example.demo.service.impl.AccountServiceI

安卓8.0通知栏适配

一、谷歌为什么在安卓8.0对通知栏进行修改         系统通知栏作为除桌面启动图标之外的唯一入口,对app的日活起到非常重要的作用,因此各个app开发商都希望能抢占用户的通知栏。随着移动端的普及和安卓手机存储容量的扩大,用户手机能安装的app数量越来越多,一台手机安装几十到上百个app已经不足为奇,各个app都极尽可能的抢占通知栏,而安卓系统本身又没有一种规范来约束app开发商的这种行为,

ubuntu —— 命令行执行完毕通知(undistract-me)

当我们在命令行下:   (1)git clone 一个项目时(2)sudo apt-get install 时(3)sudo make 时。。。 往往要经历比较长的时间等待,一方面我们不能盲等,时间白白流失,我们需要转而去做其他事情,另一方面,我们有不确定方才的任务是否执行完毕,我们会时不时的去查看下该命令是否执行完毕了(类似计算机中的轮循机制),这样效率比较低,饱受 distract(分心