Webhook渠道和内容模板

February 26, 2024About 11 min

Webhook渠道和内容模板

SDK类名:/common/Webhook;

webhook渠道 - 新建

SDK方法名:createWebhook;

URL

/webhook

Method

POST

Request

名称类型必选简介Mock初始值Mock规则
idString即ID,Webhook的唯一标识,不可重复,由界面生成
nameStringWebhook名称
typeStringWebhook类型,目前支持:
钉钉 - dd
企业微信 - qywx
飞书 - fs
通用Webhook - general
urlStringWebhook URL地址。
您需要在各个Webhook通知渠道侧完成相关配置,并获取Webhook URL地址。相关说明如下:

钉钉
在钉钉侧创建自定义机器人,并获取Webhook URL地址。更多信息,请参见自定义机器人接入: https://open.dingtalk.com/document/group/custom-robot-access

企业微信
在企业微信侧创建自定义机器人,并获取Webhook URL地址。更多信息,请参见群机器人配置说明: https://developer.work.weixin.qq.com/document/path/91770

飞书
在飞书侧创建自定义机器人,并获取Webhook URL地址。更多信息,请参见如何在群组中创建机器人: https://www.feishu.cn/hc/zh-CN/articles/360024984973?spm=a2c4g.11186623.0.0.2fa667cdYnJS1P

Slack
在Slack侧创建Webhook,获取Webhook URL地址。更多信息,请参见Sending messages using Incoming Webhooks: https://api.slack.com/messaging/webhooks?spm=a2c4g.11186623.0.0.2fa667cdYnJS1P
configObjectwebhook配置信息
  methodString调用该Webhook的请求方法,当类型为通用Webhook时需要配置,其余类型默认为POST
  secretStringWebhook加签密钥:
选择类型为钉钉或飞书,且在钉钉或飞书侧设置安全校验方式为签名校验时,需配置。如何获取,请参见如下说明:

钉钉:在钉钉侧自定义机器人管理界面启用加签方式,然后获取Webhook加签密钥。更多信息,请参见自定义机器人安全设置: https://open.dingtalk.com/document/group/customize-robot-security-settings
飞书:在飞书侧自定义机器人管理界面启用加签方式,然后获取Webhook加签密钥。更多信息,请参见签名校验: https://open.feishu.cn/document/ukTMukTMukTM/ucTM5YjL3ETO24yNxkjN?spm=a2c4g.11186623.0.0.2fa667cdYnJS1P#348211be
  headersArray调用该Webhook的自定义Headers
当类型为通用Webhook时需要配置

Response

名称类型必选简介Mock初始值Mock规则
retNumber200
msgString
dataObject
  messageString
  codeNumber0

Webhook渠道 - 修改

SDK方法名:modifyWebhook;

URL

/webhook/:uuid([A-F0-9-]+)

Method

PUT

Request

名称类型必选简介Mock初始值Mock规则
idString
nameString
urlString
random_strString
configObject

Response

名称类型必选简介Mock初始值Mock规则
retNumber200
msgString
dataObject
  messageString
  codeNumber0

Webhook渠道 - 列表

SDK方法名:listWebhook;

URL

/webhook

Method

GET

Request

名称类型必选简介Mock初始值Mock规则
where_args[type]String根据类型过滤,不传获取所有
like_args[name]String根据名称进行过滤,支持模糊搜索
pageNumber可选
limitNumber可选

Response

名称类型必选简介Mock初始值Mock规则
dataObject
  info_listArray3-15
    uuidString@pick(["0DD4E727-70AB-62C6-BEB5-D012DFAE46E3", "0DD4E727-70AB-62C6-BEB5-D012DFAE46E4"])@uuid()
    idString@string()
    nameString@pick(["kevin", "Jane", "Grey"])@first()
    typeString@pick(['dd', 'fs', 'qywx'])
    urlString@url()
    configObject
    usernameString@pick(["admin", "user", "super"])
    can_delNumber1
    can_opNumber1
  totalNumber10
  codeNumber0
  messageString
retNumber200
msgString

Webhook渠道 - 单个

SDK方法名:describeWebhook;

URL

/webhook/:uuid([A-F0-9-]+)

Method

GET

Request

名称类型必选简介Mock初始值Mock规则

Response

名称类型必选简介Mock初始值Mock规则
retNumber200
msgString
dataObject
  messageString
  webhookObject
    nameString@cname
    typeString@pick(['qywx', 'fs'])
    idString
    uuidString@uuid
    urlString
    configObject
    random_strString
  codeNumber0

Webhook渠道 - 删除

SDK方法名:deleteWebhook;

URL

/webhook

Method

DELETE

Request

名称类型必选简介Mock初始值Mock规则
uuidsArray

Response

名称类型必选简介Mock初始值Mock规则
retNumber200
msgString
dataObject
  messageString
  codeNumber0

内容模板 - 新建

SDK方法名:createWebhookContentTemplate;

URL

/webhook/content_template

Method

POST

Request

名称类型必选简介Mock初始值Mock规则
idStringID
nameString名称
warn_typeString告警类型
资源管理-res
文件复制-rule
Nas文件复制-nas
整机保护-fsp
整机迁移-fsp_move
副本管理-cdm
云容灾-cloud
虚拟化支持-vp
应用保护-timing
应用高可用-ha
Oracle同步-active
巡检通知-routing_inspection
整体状态-all_status
告警通知-alarm
存储监控-storage
许可-lic
DTO管理-dto
configObject
  dd|qywxfskafkageneralsmsObject
    languageString非定制内容语音:zh-中文 en-英文zh
    titleString主题
    contentString资源管理-res
模板必须包含
用户名:${username}
名称:${name}
类型:${module}
状态:${status}
管理地址:${config_addr}
数据地址:${data_addr}
时间:${time}

文件复制-rule
模板必须包含
用户名:${username}
名称:${name}
类型:${module}
状态:${status}
资源类型:${res_type_0}
资源名称:${res_name_0}
资源状态:${res_status_0}
管理地址:${config_addr_0}
数据地址:${data_addr_0}
资源类型:${res_type_1}
资源名称:${res_name_1}
资源状态:${res_status_1}
管理地址:${config_addr_1}
数据地址:${data_addr_1}
时间:${time}
延迟:${latency}
延迟阈值:${latency_threshold}
提示:${tips}

NAS文件复制-nas
模板必须包含
用户名:${username}
名称:${name}
类型:${module}
状态:${status}
资源类型:${res_type_0}
资源名称:${res_name_0}
资源状态:${res_status_0}
管理地址:${config_addr_0}
数据地址:${data_addr_0}
资源类型:${res_type_1}
资源名称:${res_name_1}
资源状态:${res_status_1}
管理地址:${config_addr_1}
数据地址:${data_addr_1}
资源类型:${res_type_2}
资源名称:${res_name_2}
资源状态:${res_status_2}
管理地址:${config_addr_2}
数据地址:${data_addr_2}
时间:${time}

整机保护-fsp
模板必须包含
用户名:${username}
名称:${name}
类型:${module}
状态:${status}
资源类型:${res_type_0}
资源名称:${res_name_0}
资源状态:${res_status_0}
管理地址:${config_addr_0}
数据地址:${data_addr_0}
资源类型:${res_type_1}
资源名称:${res_name_1}
资源状态:${res_status_1}
管理地址:${config_addr_1}
数据地址:${data_addr_1}
时间:${time}

整机迁移-fsp_move
模板必须包含
用户名:${username}
名称:${name}
类型:${module}
状态:${status}
资源类型:${res_type_0}
资源名称:${res_name_0}
资源状态:${res_status_0}
管理地址:${config_addr_0}
数据地址:${data_addr_0}
资源类型:${res_type_1}
资源名称:${res_name_1}
资源状态:${res_status_1}
管理地址:${config_addr_1}
数据地址:${data_addr_1}
时间:${time}

副本管理-cdm
模板必须包含
用户名:${username}
名称:${name}
类型:${module}
状态:${status}
资源类型:${res_type_0}
资源名称:${res_name_0}
资源状态:${res_status_0}
管理地址:${config_addr_0}
数据地址:${data_addr_0}
资源类型:${res_type_1}
资源名称:${res_name_1}
资源状态:${res_status_1}
管理地址:${config_addr_1}
数据地址:${data_addr_1}
时间:${time}

云容灾-cloud
模板必须包含
用户名:${username}
名称:${name}
类型:${module}
状态:${status}
资源类型:${res_type_0}
资源名称:${res_name_0}
资源状态:${res_status_0}
管理地址:${config_addr_0}
数据地址:${data_addr_0}
资源类型:${res_type_1}
资源名称:${res_name_1}
资源状态:${res_status_1}
管理地址:${config_addr_1}
数据地址:${data_addr_1}
时间:${time}

虚拟化支持-vp
模板必须包含
用户名:${username}
名称:${name}
类型:${module}
虚机名称:${vm_name}
状态:${status}
资源类型:${res_type_0}
资源名称:${res_name_0}
资源状态:${res_status_0}
管理地址:${config_addr_0}
数据地址:${data_addr_0}
资源类型:${res_type_1}
资源名称:${res_name_1}
资源状态:${res_status_1}
管理地址:${config_addr_1}
数据地址:${data_addr_1}
资源类型:${res_type_2}
资源名称:${res_name_2}
资源状态:${res_status_2}
管理地址:${config_addr_2}
数据地址:${data_addr_2}
时间:${time}

应用保护-timing
模板必须包含
用户名:${username}
名称:${name}
类型:${module}
状态:${status}}
资源类型:${res_type_0}
资源名称:${res_name_0}
资源状态:${res_status_0}
管理地址:${config_addr_0}
数据地址:${data_addr_0}
资源类型:${res_type_1}
资源名称:${res_name_1}
资源状态:${res_status_1}
管理地址:${config_addr_1}
数据地址:${data_addr_1}
时间:${time}

应用高可用-ha
模板必须包含
用户名:${username}
高可用:${name}
提示:${tips}
初始主节点:${res_name_0}
当前状态:${res_status_0}
当前角色:${res_type_0}
管理地址:${config_addr_0}
数据地址:${data_addr_0}
初始从节点:${res_name_1}
当前状态:${res_status_1}
当前角色:${res_type_1}
管理地址:${config_addr_1}
数据地址:${data_addr_1}
时间:${time}

Oracle同步-active
模板必须包含
用户名:${username}
Active数据同步:${name}
告警类型:${type}
code: ${code}
进程:${module}
信息:${summary}
时间:${time}

巡检通知-routing_inspection
模板必须包含
用户名:${username}
时间:${time}

整体状态-all_status
模板必须包含
用户名:${username}
节点:${node}
虚拟平台:${vp}
集群:${cls}
复制规则:${rep_backup}
NAS:${nas}
全服备份:${fsp_backup}
全服迁移:${fsp_move}
定时备份:${timing_backup}
高可用:${ha}
虚机备份:${vp_backup}
虚机恢复:${vp_recovery}
虚机迁移:${vp_move}
虚机复制:${vp_rep}
时间:${time}

告警通知-alarm
模板必须包含
用户名:${username}
名称:${name}
类型:${module}
内容:${msg}
时间:${time}

存储监控-storage
模板必须包含
节点名称:${bk_node_name}
节点地址:${bk_ip}
存储名称:${dev_mount}
当前已用:${dev_used_percent}
告警阈值:${threshold}
用户名:${username}
时间:${time}

许可-lic
模板必须包含
用户名:${username}
SN:${sn}
功能:${feature}
告警原因:${alarm_for}
过期类型:${expired_type}
过期日期:${expired_date}
剩余天数:${days_remaining}
时间:${time}

DTO管理-dto
模板必须包含
用户名:${username}
名称:${name}
类型:${module}
状态:${status}
资源类型:${res_type_0}
资源名称:${res_name_0}
资源状态:${res_status_0}
管理地址:${config_addr_0}
时间:${time}
    methodString发送方式:
合并转发:combine
逐条发送:separate
    countNumber单个分组中最多发送条数 0表示无限制
    mentioned_rangeNumber【钉钉、企业微信、飞书】
提醒用户范围:0-所有人 1-指定用户
    mentioned_typeNumber【钉钉、企业微信、飞书】
用户信息类型:0-用户ID 1-手机号
    mentioned_listString用户ID或手机号

Response

名称类型必选简介Mock初始值Mock规则
retNumber200
msgString
dataObject
  codeNumber0
  messageString

内容模板 - 修改

SDK方法名:modifyWebhookContentTemplate;

URL

/webhook/content_template/:uuid([A-F0-9-]+)

Method

PUT

Request

名称类型必选简介Mock初始值Mock规则
idString
nameString
warn_typeString
webhook_typeString
random_strString
configObject
  languageString
  titleString
  contentString

Response

名称类型必选简介Mock初始值Mock规则
retNumber200
msgString
dataObject
  messageString
  codeNumber0

内容模板 - 列表

SDK方法名:listWebhookContentTemplate;

URL

/webhook/content_template

Method

GET

Request

名称类型必选简介Mock初始值Mock规则
uuidString为空表示列表,不为空表示单个
limitNumber可选
pageNumber可选
like_args[name]String可选, 名称搜索,支持模糊搜索
where_args[warn_type]String可选,根据告警类型过滤,告警类型对应消息类型

Response

名称类型必选简介Mock初始值Mock规则
dataObject
  info_listArray
    idString
    uuidString@pick(["0DD4E727-70AB-62C6-BEB5-D012DFAE46E3", "0DD4E727-70AB-62C6-BEB5-D012DFAE46E4"])
    nameString@pick(["kevin", "Jane", "Grey"])
    webhook_typeString@pick(['dd', 'fs', 'qywx'])
    warn_typeString@pick(['rep'])
    usernameString@pick(["admin", "user", "super"])
    configObject
    can_delNumber1
    can_opNumber1
    create_timeString创建时间
    update_timeString上次修改时间
  totalNumber100
  codeNumber0
  messageString
retNumber200
msgString

内容模板 - 删除

SDK方法名:delteWebhookContentTemplate;

URL

/webhook/content_template

Method

DELETE

Request

名称类型必选简介Mock初始值Mock规则
uuidsArray

Response

名称类型必选简介Mock初始值Mock规则
retNumber200
msgString
dataObject
  messageString
  codeNumber0
Last update: 8/1/2024, 2:00:50 PM
Contributors: ganl