「饭碗警告」提供了灵活的模板变量提取机制,方便用户从可控或不可控的 webhook、邮件触发源提取需要的信息来组合通知内容。

在编辑规则时,用户可以添加一个或多个「触发」入口,在每一个触发入口中,都可以配置不同的模板变量。在配置模板变量后,即可在「通知简述」和「通知正文」中通过双大括号来使用相关变量。

举例来说,如果添加了模版变量 brief,那么在「通知简述」中,如果我们填写 紧急告警:{{brief}},当模板变量 brief 值为“测试”时,「通知简述」即为“紧急告警:测试”。

Webhook 入口模板变量

添加 webhook 触发入口后,调用 webhook 时的查询字符串和请求体(支持 JSON、URL-encoded 和 multipart form data,需要正确设置 Content-Type)会默认加入模板变量中。

比如当我们请求 https://fwalert.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx?brief=test&details=test 时,会自动加入名为 briefdetails 的模板变量。

除此之外,我们可以通过「添加模板变量」更灵活地配置模板变量的提取和命名。

查询字符串(Query String)/ URL-Encoded

查询字符串即为通常在链接 ? 及其以后的字符串,目前支持通用的 URL-Encoded 编码。

请求体(Body)/ JSON

支持标准的 JSON 格式,多级对象可以通过在键设置中加 . 实现,内部使用了 lodash

请求体(Body)/ URL-Encoded、Multipart Form Data

和 JSON 类似,支持 URL-encoded 和 multipart form data。

请求体(Body)/ 正则表达式

支持 JavaScript 的正则表达式实现,匹配到的第一个捕获组内容即为模板变量的值。

请求头(Header)

请求时加入 request header 中的参数可以通过此方法获取。

邮件入口模板变量

邮件主题 / 正则表达式

支持 JavaScript 的正则表达式实现,匹配到的第一个捕获组内容即为模板变量的值。

邮件正文 / 正则表达式

支持 JavaScript 的正则表达式实现,匹配到的第一个捕获组内容即为模板变量的值。

请求头(Header)

邮件源 header 中的参数可以通过此方法获取。