# 约定

哮天犬发送webhook通知,约定请求方式为 POST,请求Header中 User-Agent 包含 dog/ ,例如 User-Agent: dog/1.0,请求参数使用body部分传输 json,即请求header中包含 Content-Type: application/json,json的内容格式约定如下:

{
  "event": "{EVENT}",
  "type": "{TYPE}",
  "data": {
    // 提交的data数据
  },
  "extra": {
    // 其他附加字段
  }
}
1
2
3
4
5
6
7
8
9
10

约定webhook响应状态码为 200 即为成功,无论响应的数据是什么。

调用webhook的超时时间为200毫秒,请注意优化webhook性能,避免超时。

# 格式

以上body部分的取值请参考:

event (String) type (String) body (Object) extra (Object) 说明
PING ping 用于测试该webhook是否可用
ALARM not_save_db task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
msg | Object | 消息体
msg.uuid | String | 该告警唯一ID
msg.leve | Number | 告警级别
msg.ctn | Object | 告警内容
msg.notice_time | Number | 告警通知时间,时间戳秒
未入库告警通知
compressed task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
history | Object | 消息体
history.id | Number | 消息自增ID
history.batch | Number | 收敛批次ID
history.metric | String | 收敛指标
history.uuid | String | 该告警唯一ID
history.leve | Number | 告警级别
history.ctn | Object | 告警内容
history.notice_time | Number | 告警通知时间,时间戳
收敛告警通知
compress_not_match task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
history | Object | 消息体
history.id | Number | 消息自增ID
history.uuid | String | 该告警唯一ID
history.leve | Number | 告警级别
history.ctn | Object | 告警内容
history.notice_time | Number | 告警通知时间,时间戳秒
未收敛告警通知
compress_disable task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
history | Object | 消息体
history.id | Number | 消息自增ID
history.uuid | String | 该告警唯一ID
history.leve | Number | 告警级别
history.ctn | Object | 告警内容
history.notice_time | Number | 告警通知时间,时间戳秒
未开启收敛功能告警通知
UPGRADE upgrade task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
history | Object | 消息体
history.id | Number | 消息自增ID
history.uuid | String | 该告警唯一ID
history.leve | Number | 告警级别
history.ctn | Object | 告警内容
history.notice_time | Number | 告警通知时间,时间戳秒
告警升级通知
RECOVERY not_save_db task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
msg | Object | 消息体
msg.uuid | String | 该告警唯一ID
msg.leve | Number | 告警级别
msg.ctn | Object | 告警内容
msg.notice_time | Number | 告警通知时间,时间戳秒
告警恢复通知(不入库类型)
recovery task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
history | Object | 消息体
history.id | Number | 消息自增ID
history.uuid | String | 该告警唯一ID
history.leve | Number | 告警级别
history.ctn | Object | 告警内容
history.notice_time | Number | 告警通知时间,时间戳秒
告警恢复通知(入库类型)
WORKFLOW remind_pending task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
history | Object | 消息体
history.id | Number | 消息自增ID
history.uuid | String | 该告警唯一ID
history.leve | Number | 告警级别
history.ctn | Object | 告警内容
history.notice_time | Number | 告警通知时间,时间戳秒
workflow | Object | 工作流信息
workflow.id | Number | 工作流ID
待认领工作流提醒通知
remind_processing task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
history | Object | 消息体
history.id | Number | 消息自增ID
history.uuid | String | 该告警唯一ID
history.leve | Number | 告警级别
history.ctn | Object | 告警内容
history.notice_time | Number | 告警通知时间,时间戳秒
workflow | Object | 工作流信息
workflow.id | Number | 工作流ID
待处理完成工作流提醒通知
generated task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
history | Object | 消息体
history.id | Number | 消息自增ID
history.uuid | String | 该告警唯一ID
history.leve | Number | 告警级别
history.ctn | Object | 告警内容
history.notice_time | Number | 告警通知时间,时间戳秒
workflow | Object | 工作流信息
workflow.id | Number | 工作流ID
工作流创建提醒
claim task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
history | Object | 消息体
history.id | Number | 消息自增ID
history.uuid | String | 该告警唯一ID
history.leve | Number | 告警级别
history.ctn | Object | 告警内容
history.notice_time | Number | 告警通知时间,时间戳秒
workflow | Object | 工作流信息
workflow.id | Number | 工作流ID
pipeline | Object | 工作流流程信息
pipeline.remark | String | 备注
pipeline.user | Object | 操作工作流的用户信息
pipeline.user.uid | Number | 用户工号,去零整数
pipeline.user.username | String | 用户姓名
pipeline.user.user | String | 邮箱前缀
工作流认领通知
assign task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
history | Object | 消息体
history.id | Number | 消息自增ID
history.uuid | String | 该告警唯一ID
history.leve | Number | 告警级别
history.ctn | Object | 告警内容
history.notice_time | Number | 告警通知时间,时间戳秒
workflow | Object | 工作流信息
workflow.id | Number | 工作流ID
pipeline | Object | 工作流流程信息
pipeline.remark | String | 备注
pipeline.user | Object | 操作工作流的用户信息
pipeline.user.uid | Number | 用户工号,去零整数
pipeline.user.username | String | 用户姓名
pipeline.user.user | String | 邮箱前缀
pipeline.assignto | Array | 被指派人信息
pipeline.assignto.*.uid | Number | 工号
pipeline.assignto.*.username | Number | 姓名
pipeline.assignto.*.user | Number | 邮箱前缀
工作流指派通知
processed task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
history | Object | 消息体
history.id | Number | 消息自增ID
history.uuid | String | 该告警唯一ID
history.leve | Number | 告警级别
history.ctn | Object | 告警内容
history.notice_time | Number | 告警通知时间,时间戳秒
workflow | Object | 工作流信息
workflow.id | Number | 工作流ID
pipeline | Object | 工作流流程信息
pipeline.remark | String | 备注
pipeline.user | Object | 操作工作流的用户信息
pipeline.user.uid | Number | 用户工号,去零整数
pipeline.user.username | String | 用户姓名
pipeline.user.user | String | 邮箱前缀
工作流处理完成通知
reactive task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
history | Object | 消息体
history.id | Number | 消息自增ID
history.uuid | String | 该告警唯一ID
history.leve | Number | 告警级别
history.ctn | Object | 告警内容
history.notice_time | Number | 告警通知时间,时间戳秒
workflow | Object | 工作流信息
workflow.id | Number | 工作流ID
pipeline | Object | 工作流流程信息
pipeline.remark | String | 备注
pipeline.user | Object | 操作工作流的用户信息
pipeline.user.uid | Number | 用户工号,去零整数
pipeline.user.username | String | 用户姓名
pipeline.user.user | String | 邮箱前缀
工作流被重新激活通知
close task | Object | 告警任务信息
task.id | Number | 告警任务ID
task.name | String | 告警任务名称
history | Object | 消息体
history.id | Number | 消息自增ID
history.uuid | String | 该告警唯一ID
history.leve | Number | 告警级别
history.ctn | Object | 告警内容
history.notice_time | Number | 告警通知时间,时间戳秒
workflow | Object | 工作流信息
workflow.id | Number | 工作流ID
pipeline | Object | 工作流流程信息
pipeline.remark | String | 备注
pipeline.user | Object | 操作工作流的用户信息
pipeline.user.uid | Number | 用户工号,去零整数
pipeline.user.username | String | 用户姓名
pipeline.user.user | String | 邮箱前缀
工作流关闭通知

说明:上表中 task.id、task.name 表示的是JSON中的Object:

{
    "task": {
        "id": 123,
        "name": "哮天犬测试"
    }
}
1
2
3
4
5
6

上表中 pipeline.assignto..uid、pipeline.assignto..username 表示的是JSON中的Array:

{
    "pipeline": {
        "assignto": [
            {
                "uid": 123,
                "username": "张三"
            },
            {
                "uid": 456,
                "username": "李四"
            }
        ]
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 示例请求

POST /admin HTTP/1.1
Content-Length: 467
User-Agent: dog/1.0
Content-Type: application/json
Host: localhost:9501

{"event":"WORKFLOW","type":"close","data":{"workflow":{"id":1,"task_id":102,"history_id":3,"created_at":"1970-01-06 08:07:12","status":"\u5904\u7406\u4e2d"},"task":{"id":102,"name":"\u7530\u7247\u6d4b\u8bd5"},"history":{"id":3,"uuid":"e3c25704-a54b-40ab-ab08-0e2009d9673e","level":"\u9519\u8bef"},"pipeline":{"remark":"423","created_at":"2020-05-02 23:27:51","user":{"uid":1,"username":"ethananony","email":"ethananony@aliyun.com","user":"ethananony"}}},"extra":{}}
1
2
3
4
5
6
7