自动化测试接入飞书告警

飞书开放平台: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')

  简单效果如下图:

 

posted @ 2021-01-15 20:56  Jc_code  阅读(1093)  评论(0编辑  收藏  举报