数据管理DMS除了手机短信、邮件、钉钉信息、钉钉机器人Webhook等消息通知方式外,支持使用自定义Webhook通知。
配置介绍
配置个人信息时,在Webhook区域,输入URL地址,并勾选Webhook通知渠道。
更多信息,请参见配置个人信息及通知方式。
事件说明
当DMS中有消息通知时,系统会将消息通知发送到您指定的URL地址,发送的POST请求内容如下所示。
请求头
DMS-Event: Message Hook
请求体参数
参数 | 数据类型 | 描述 |
submitterUid | String | 提交人的UID。 |
submitterName | String | 提交人名称。 |
category | String | 功能模块:工单、任务编排、数仓开发等。 |
module | String | 业务类型:权限申请、数据变更、结构设计、数据导出等。 |
event | String | 具体事件:待审批、执行成功、执行失败等。 |
taskId | String | 工单ID或任务流ID。 |
taskName | String | 任务名称。 |
eventTime | String | 事件时间。 |
message | String | 系统内置消息文本。 |
targetUsers | 对象数组 | 目标接收者,支持通知多个接收人。 |
receivers | 对象数组 | 实际接收人对象数组。未配置通知方式用户将无法接收通知。 |
uid | String | 接收人的UID,该参数为接收人对象的成员。 |
name | String | 接收人名称,该参数为接收人对象的成员。 |
signatureMethod | String | 当您使用自定义Webhook时,需选择签名方式(必选项),当前支持两种签名方式:
|
signatureText | String | 数字签名,通过Webhook地址、密码、消息事件计算得出的HmacSha1值,例如 |
请求体示例
{
"messageEvent":{
"submitterName":"xxx",
"submitterUid":"167382665015xxxx",
"category":"工单",
"event":"执行成功",
"eventTime":1625630049930,
"message":"【DMS数据管理】Webhook test, code: 144619 ",
"module":"数据变更",
"receivers":[{"name":"xxx1","uid":"167382665015xxxx"},{"name":"xxx2","uid":"167382665016xxxx"}],
"targetUsers":[{"name":"xxx1","uid":"167382665015xxxx"},{"name":"xxx2","uid":"167382665016xxxx"}],
"taskName":"Webhook test"
},
"signatureMethod":"HMAC_SHA1",
"signatureText":"4mOdwflN1Cg5NdM2XPuipuCYYWk="
}
响应体示例
{"root":"","success":true} //成功
{"root":"error message","success":false} //失败
Webhook接收端例子
您可以通过如下方式,创建一个简单的Echo脚本,测试、查看Webhook的执行效果。
将如下脚本保存成print_http_body.rb。
require 'webrick' server = WEBrick::HTTPServer.new(:Port => ARGV.first) server.mount_proc '/' do |req, res| puts req.body end trap 'INT' do server.shutdown end server.start
选择未被使用的端口(比如8000),并启动脚本:
ruby print_http_body.rb 8000
。在新版DMS控制台上,配置Webhook的URL地址,例如
http://my.host:8000/
。具体操作,请参见配置个人信息及通知方式。当触发支持HTTP Basic Authentication的服务器时, 允许在URL中添加用户名和密码进行访问,Webhook示例如下:
http://userName:password@my.host:8080/project/test-job
在修改通知方式对话框中,单击自定义Webhook地址右侧的测试,您的服务端将会收到DMS发来的消息通知。
如下为通知示例:
{ "messageEvent":{ "submitterName":"xxx", "submitterUid":"167382665015xxxx", "category":"工单", "event":"执行成功", "eventTime":1625630049930, "message":"【DMS数据管理】Webhook test, code: 144619 ", "module":"数据变更", "receivers":[{"name":"xxx1","uid":"167382665015xxxx"}], "targetUsers":[{"name":"xxx1","uid":"167382665015xxxx"}], "taskName":"Webhook test" }, "signatureMethod":"HMAC_SHA1", "signatureText":"4mOdwflN1Cg5NdM2XPuipuCYYWk=" } 127.0.0.1 - - [20/Apr/2021:20:07:47 CST] "POST / HTTP/1.1" 200 0