准备工作
首先注册饭碗警告,点击用户头像,进入「联系方式」页面添加电话、短信或其他联系方式。
新建转发规则
进入「转发规则」页面,点击「+」新建转发规则,配置如下:
如上图所示,我们添加了两个模板变量 brief
和 details
,分别取 query string
中的同名参数,并在「通知简述」和「通知正文」中通过双大括号的语法使用。
短信和电话只会使用到「通知简述」。
点击「保存」后,可以在「触发」一栏中找到生成的 webhook 链接:
我们可以简单测试这个转发规则,复制请求地址,并在其后加上测试用参数:
# 这里使用的是 curl 命令行工具,也可以直接使用浏览器地址栏。注意替换生成的 token。
curl https://fwalert.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx?brief=test%20brief&details=test%20details
不出意外我们就会分别收到来自「饭碗警告」的短信和电话报警了。
在 Node.js 中请求 webhook
本例使用 Node.js 自带的 https
和 querystring
模块处理和发送报警请求:
const HTTPS = require('https');
const QueryString = require('querystring');
const ALERT_URL = 'https://fwalert.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';
function fwAlert(brief, details) {
// 构建查询字符串
let query = QueryString.stringify({brief, details});
// 拼接 FwAlert 触发链接和查询字符串
let url = `${ALERT_URL}?${query}`;
return new Promise((resolve, reject) => {
HTTPS
.get(url, resolve)
.on('error', reject);
});
}
fwAlert('测试简述', '测试详情');
实际使用中,可以根据需要使用其他库,如 axios、node-fetch 等。参数也可以通过 HTTP header,JSON、URL-Encoded 的 body 传递,但注意触发配置中需要选择对应来源的模板变量。