56 lines
2.3 KiB
Markdown
56 lines
2.3 KiB
Markdown
# 消息网关配置
|
|||
|
|
|
||
|
|
消息网关让外部系统来触发 goodBaby 的动作:为网关生成一个 Webhook 地址,
|
||
|
|
外部系统往这个地址 POST 一条消息,绑定在该网关上的「网关规则」就会被执行。
|
||
|
|
|
||
|
|
## 创建网关
|
||
|
|
|
||
|
|
在 WebUI 的「消息网关」页面点击「新建网关」:
|
||
|
|
|
||
|
|
| 字段 | 说明 |
|
||
|
|
| --- | --- |
|
||
|
|
| 网关类型 | 目前只有 `webhook`,新类型由 `internal/gateway` 注册后自动出现在这里 |
|
||
|
|
| 网关名称 | 便于识别的名字,例如「生产环境告警」 |
|
||
|
|
|
||
|
|
创建后会得到一个地址:
|
||
|
|
|
||
|
|
```text
|
||
|
|
https://<你的域名>/api/v1/gateways/gw_xxxxxxxx/webhook
|
||
|
|
```
|
||
|
|
|
||
|
|
Token 由服务端随机生成,无法在页面上修改;删除网关会连同它的网关规则一起删除。
|
||
|
|
|
||
|
|
## 投递消息
|
||
|
|
|
||
|
|
```bash
|
||
|
|
curl -X POST https://<你的域名>/api/v1/gateways/gw_xxxxxxxx/webhook \
|
||
|
|
-H 'Content-Type: application/json' \
|
||
|
|
-d '{"title": "数据库告警", "message": "主库连接数超过 90%"}'
|
||
|
|
```
|
||
|
|
|
||
|
|
| 字段 | 必填 | 说明 |
|
||
|
|
| --- | --- | --- |
|
||
|
|
| `message` | 是 | 消息正文,会覆盖网关规则配置里的消息字段 |
|
||
|
|
| `title` | 否 | 消息标题,规则配置里存在 `title` 字段时会被替换 |
|
||
|
|
|
||
|
|
响应里会给出本次触发的规则总数与失败明细:
|
||
|
|
|
||
|
|
```json
|
||
|
|
{ "code": 200, "data": { "total": 2, "failed": ["发送邮件: 连接 SMTP 服务器失败"] } }
|
||
|
|
```
|
||
|
|
|
||
|
|
## 网关规则
|
||
|
|
|
||
|
|
网关规则在「网关规则」页面维护,和定时器规则是两张表、两个页面,互不影响。
|
||
|
|
只需配置「发给谁」这类固定信息:名称 / 类型 / 关联账号 / 类型专属配置 / 启用。
|
||
|
|
|
||
|
|
**消息标题与内容不用在规则里预先写**:邮件标题、邮件正文、QQ 消息内容、钉钉标题与内容、
|
||
|
|
B 站动态与私信内容、饭碗警告内容这些字段在「网关规则」页面上不会让用户填写
|
||
|
|
(页面上只显示一行提示),投递时统一由请求里的 `title` / `message` 填充。
|
||
|
|
|
||
|
|
没有消息字段的规则(例如「公开 GitHub 仓库」「删除阿里云 DNS 记录」)也能挂到网关上,
|
||
|
|
这类规则固定按自己的配置执行,投递的消息只起到触发器的作用。
|
||
|
|
|
||
|
|
规则编辑页的「测试」按钮会用一条示例消息走一次真实的投递覆盖,
|
||
|
|
方便你在执行日志里确认最终发出的内容。
|