接入叮叮机器人测试

创建机器人

  • 下载叮叮PC版
  • 点击头像—>设置—>机器人管理—>选择类型—>添加

官方文档:

https://developers.dingtalk.com/document/app/custom-robot-access?spm=ding_open_doc.document.0.0.626410af3tsH9x#topic-1914047

普通机器人发送消息

# coding=utf-8
# author:tyc
# creat_time: 2021/7/6 10:45
# description: 测试叮叮机器人(python3.6)
# 更多消息格式参考: https://developers.dingtalk.com/document/app/custom-robot-access?spm=ding_open_doc.document.0.0.626410af3tsH9x#section-e4x-4y8-9k0
import requests
import json
import time
import hmac
import hashlib
import base64
import urllib.parse


# 机器人采用第二种加密时
def get_secret_url(url, secret):
    timestamp = str(round(time.time() * 1000))
    secret_enc = secret.encode('utf-8')
    string_to_sign = '{}\n{}'.format(timestamp, secret)
    string_to_sign_enc = string_to_sign.encode('utf-8')
    hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
    sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
    return f'{url}&timestamp={timestamp}&sign={sign}'


def send_ding_talk(webhook_url, headers, data):
    resp = requests.post(url=webhook_url, headers=headers, data=data)
    print(resp.json())


# 要发送的消息类型
text = {
    "at": {
        "atMobiles": [  # 被@人的手机号 非必须
            "180xxxxxx"
        ],
        "atUserIds": [  # 被@人的用户userid 非必须
            "user123"
        ],
        "isAtAll": False  # 是否@所有人。
    },
    "text": {
        "content": "测试"  # 消息内容
    },
    "msgtype": "text"  # 消息类型,此时固定为:text。
}

# messageUrl 点击消息跳转的URL 必须填写
link = {
    "msgtype": "link",
    "link": {
        "text": "提醒:这个即将发布的新版本,创始人xx称它为红树林。而在此之前,每当面临重大升级,产品经理们都会取一个应景的代号,这一次,为什么是红树林",
        "title": "时代的火车向前开",
        "picUrl": "",
        "messageUrl": "https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI"
    }
}

#
markdown = {
    "msgtype": "markdown",
    "markdown": {
        "title": "成都天气",
        "text": "#### 系统报警:成都天气 @150XXXXXXXX \n > 9度,西北风1级,空气良89,相对温度73%\n > ![screenshot](https://img.alicdn.com/tfs/TB1NwmBEL9TBuNjy1zbXXXpepXa-2400-1218.png)\n > ###### 10点20分发布 [天气](https://www.dingtalk.com) \n"
    },
    "at": {
        "atMobiles": [
            "150XXXXXXXX"
        ],
        "atUserIds": [
            "user123"
        ],
        "isAtAll": False
    }
}

if __name__ == '__main__':
    # webhook_url与secret由叮叮提供
    webhook_url = ''
    headers = {
        'Content-Type': 'application/json'
    }
    # 测试第一种加密通过特定词语发送
    # send_ding_talk(webhook_url, headers=headers, data=json.dumps(text))
    # send_ding_talk(webhook_url, headers=headers, data=json.dumps(link))
    # send_ding_talk(webhook_url, headers=headers, data=json.dumps(markdown))

    # 测试第二种加密
    secret = ''
    send_ding_talk(get_secret_url(webhook_url, secret), headers=headers, data=json.dumps(text))

代码提交gitlab机器人

1.创建gitlab机器人,获取webhook地址

2.登录gitlab,选中仓库—>setting—>输入webhook地址即可

3.push代码测试结果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值