yearning的默认webhook格式支持钉钉,默认格式不支持企业微信。本文的目的是讲工单流程节点变更通知到企业微信个人或群。
本文假设读者已具备以下技能
1、python flask
2、企业微信接口对接
1)到群比较简单,直接转到指定URL即可
2)到个人,需要脚本内换access_token,并且需要有效期内缓存token,企微token有次数限制
实现的步骤:
1、使用python写一个http监听代理
2、代理程序内转换webhook报文为企业微信支持的格式
3、转发给企业微信
消息转发流程:
yearing → 代理脚本监听器 → 企业微信
from flask import Flask, request @app.route("/webhook/event", methods=['POST']) def event(): try: logger.info('收到Yearning的推送:' + urllib.parse.unquote(request.data)) # 转换json格式为企业微信需要的markdown格式,详细见企业微信官方文档
# 转到企业微信
app.run(host=HOST, port=PORT, debug=False)
Yearning的webhook地址配置: http://HOST:PORT/webhook/event
转到群的步骤
在企业微信群里,添加机器人,即可得到一个 webhook推送地址,此地址无需token,可直接post
转到个人的步骤:
1、获取企业微信的access token并缓存token
2、根据报文里的下一人员和提交人员(此处是yearing的登录用户名),得到企业微信里的个人用户名(可通过企业微信部门接口获取成员名单)
3、yearning的用户名和企业微信的用户名对应关系需要自己先对应好,写在库里,简单的话写在脚本里页可以,人员新入职记得添加用户名对应关系
4、根据token和企业微信用户名,推送企业微信要求的格式到企业微信个人
标签:用户名,或群,微信,webhook,token,格式,企业 From: https://www.cnblogs.com/langu/p/18309347