自动化测试接入飞书告警

摘要:
f=liebaont')简单效果如下图:

飞书开放平台:https://www.feishu.cn/hc/zh-cn/articles/360024984973-%E5%9C%A8%E7%BE%A4%E8%81%8A%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%9C%BA%E5%99%A8%E4%BA%BA

以下是进行接入飞书预警的个人实例,仅供参考:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date    : 2017-06-22 14:32:10

import os
import requests
import json
from json import JSONDecodeError

SENDURL =  OA地址
FEISHUURL =  飞书群的机器人的 webhook 地址

"""
使用方法
ret,errmsg = sendwxmsg(content,userid,sender)
"""

'''
def sendwxmsg(content, userid, sender):
    ret = False
    msg = ''
    params = {
        'c': 'weChat',
        'a': 'sendMessage',
        'msgtype': 'text',
        'type': 'group',
        'userid': userid,
        'sender': sender,
        'content': content,
    }
    headers = {
        'content-type': "application/json",
        'User-Agent': ("Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36"
                       " (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"),
    }

    try:
        r = requests.get(SENDURL, params=params, headers=headers, timeout=15)
    except TimeoutError as e:
        return (ret, 'TimeoutError')

    if r.status_code == requests.codes.ok:
        result = r.content.decode('utf-8')
        try:
            jsond = json.loads(result)
        except JSONDecodeError:
            return (ret, 'JSONDecodeError')
        if jsond.get('code', None) == '0':
            ret = True
        else:
            ret = False
        msg = jsond.get('msg', result)
    msg = '{}_{}'.format(r.status_code, msg)

    return (ret, msg)
'''

"""
飞书消息推送使用方法
ret,errmsg = sendwxmsg_feishu(content, botid)



Method: POST
参数:
{
"title": "Hello Feishu",
"text": "Good Feishu" 
} 

返回:
{
  "ok": true
}

"""

def sendfeishumsg(content,botid,report):
    ret = False
    msg = ''
    url = '{}{}'.format(FEISHUURL, botid)
    data = {}
    headers = {
        'content-type': "application/json",
        'User-Agent': ("Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36"
                       " (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"),
    }
    data['msg_type'] = "post"
    data['content'] = {
        "post":{
            "zh_cn":{
                "title":"壁纸官网预警",
                "content":[
                    [
                        {
                            "tag":"text",
                            "text":content
                        },
                        {
                            "tag":"a",
                            "text":"点击查看",
                            "href":report
                        }
                    ]
                ]
            }
        }
    }

    try:
        r = requests.post(url, json=data, headers=headers, timeout=15)
    except TimeoutError as e:
        print(e)
        return (ret, 'TimeoutError')

    if r.status_code == requests.codes.ok:
        result = r.content.decode('utf-8')
        try:
            jsond = json.loads(result)
        except JSONDecodeError:
            return (ret, 'JSONDecodeError')
        if jsond.get('code', None) == '0':
            ret = True
        else:
            ret = False
        msg = jsond.get('msg', result)
        print(msg)
    msg = '{}_{}'.format(r.status_code, msg)
    return (ret, msg)


if __name__ == '__main__':
    sendfeishumsg('测试预警发布:','15fe742d-6030-4341-861a-a5ec07d9f8d9','https://www.duba.com/?f=liebaont')

简单效果如下图:

自动化测试接入飞书告警第1张

免责声明:文章转载自《自动化测试接入飞书告警》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Mysql 8.0+ windows 安装教程深度学习中常见的几个基础概念下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java python AES 加密 对比

/** * aes解密 * @param * @param content 密文 * @return */ public static String AESDncode(String appkey, String content) { try { // 1....

jQuery操作DOM对象

1.jQuery中的DOM操作 jQuery对JavaScript中的DOM操作进行了封装 2.设置和获取样式值 1.使用css()为指定的元素设置样式值或获取样式值 $(this).css("border","5px solid #f5f5f5"); 或 $(this).css({"border":"5px solid #f5f5f5","...

Python requests关于爬虫下载下来的数据乱码问题

1.html下载后乱码 直接用浏览器检查原网页的编码,然后把你下载下来的网页数据设置为网页上显示的编码,result.encoding=“网页上的编码” 2.直接获取api的json数据乱码 最近几年网页传输出现了新的br压缩方式,在请求的时候如果你的headers里面Accept-Encoding是“gzip, deflate, br”, headers...

bootstrap-table 基础用法

1.需要添加的引用。 <script src="http://t.zoukankan.com/@Url.Content("~/js/jquery-2.1.1.js")"></script>    <script src="http://t.zoukankan.com/@Url.Content("~/js/bo...

使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件

出处:http://www.cnblogs.com/lichenwei/p/4145696.html Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。 1、相关文件 关于Mybatis-Generator的下载可以到这...

EncryptHelper加密对象-工具类

usingSystem; usingSystem.IO; usingSystem.Security.Cryptography; usingSystem.Text; usingSystem.Web.Security; namespaceCommon.Utility { /// <summary> ///Author...