yearning订阅webhook发送到企业微信个人或群(思路)

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和企业微信用户名,推送企业微信要求的格式到企业微信个人

 

posted @ 2024-07-18 13:32  二师弟tl  阅读(14)  评论(0编辑  收藏  举报