企业微信机器人
机器人
hover机器人,卡片右上角的编辑按钮可以看到机器人配置说明。 gitlab的webhook可以在mr时发一个请求。企业微信的机器人可以接受消息,但是两边的消息格式不同,需要有一个中间人进行翻译。
总体流程是:发生了mr,发请求到服务器,服务器根据mr消息中的user找到user所属的群,向该群的机器人发送一条消息,同时消息内容要根据mr的action应该不同,有些mr消息(更新,关闭等)不需要处理。
解析mr
mr的数据我们只需要其中几条信息。
{
"user": {
"name": "",
},
"object_attributes": {
"url":"",
"action":"",
}
}
人与机器人的映射
需要两个表来实现这个映射。
- user <-> group
- group <-> robot
因为关系比较简单,可以暂时不用数据库,就手动创建好变量,在代码中维护就行。但是如果数据多来还是需要用数据库。
给机器人的消息
发给机器人的消息格式(https://work.weixin.qq.com/api/doc/90000/90136/91770)
我们使用markdown格式,可以把长长的链接写成一个超链接的形式:
{
"msgtype": "markdown",
"text": {
"content": "【张三】【发起或合并】了mr【[编号](http://123456)】",
"mentioned_list":["wangqing","@all"]
}
}