告警
项目的 告警 标签页决定任务结果发送到哪里。它由两部分组成:
- 服务器渠道是管理员在服务器
config.json中配置的通知提供方,参见通知。它们由所有项目共享,每个项目自行决定是否使用。 - 项目告警是属于项目的具名目标:一个 Telegram 聊天、一个 Slack Webhook、一组邮件地址等。模板和计划任务选择发送哪些告警。
两部分可以同时使用。

服务器渠道
页面顶部的卡片列出服务器上已配置的渠道。开启 将本项目的告警发送到服务器渠道,即可通过它们接收本项目的所有任务结果。这与旧版本项目设置中的 Allow alerts for this project 是同一个开关。
只要服务器有机器人令牌,就会列出 Telegram,在未设置聊天前显示为灰色。点击该标签输入本项目的 Telegram Chat ID;它会覆盖服务器全局聊天,服务器未设置聊天时为必填。
服务器渠道会报告所有需通知的状态:成功、失败和等待确认。邮件只报告失败。模板仍然可以抑制成功或失败通知,参见模板告警。

项目告警

点击 新建告警 创建一个目标。每个告警包含:
| 字段 | 说明 |
|---|---|
| 名称 | 显示在模板和计划任务表单中。在项目内唯一。 |
| 类型 | 渠道:Telegram、Slack、Email、Microsoft Teams、Rocket.Chat、DingTalk 或 Gotify。表单会显示该渠道所需的目标字段。 |
| 目标 | Telegram 为聊天 ID 和可选的论坛话题;Slack、Teams、Rocket.Chat 和 DingTalk 为 Webhook URL;Gotify 为服务器 URL;邮件为收件人(留空则通知在个人资料中开启了告警的项目成员)。 |
| 机密 | Telegram、Gotify 和邮件需要机密:机器人令牌、应用令牌、SMTP 凭据。使用服务器设置 从服务器配置获取;使用我自己的 从密钥库的访问密钥获取(令牌用 机密令牌 类型,SMTP 用 密码登录 类型)。拥有自己凭据的邮件告警还可以设置自己的 SMTP 主机、端口、发件人和加密方式。 |
| 发送时机 | 告警监听的事件:成功、失败、等待确认。新告警以渠道默认值开始。 |
| 项目默认 | 将该告警标记为项目默认之一。所有使用项目默认设置的模板都会发送它。 |
| 启用 | 已禁用的告警不会发送,也不算项目默认。 |
| 消息模板 | 可选的 Go 模板,用于消息正文。保留内置文本可跟随后续服务器更新。 |
机密从不保存在告警上:它们加密存放在密钥库中,告警使用期间密钥无法删除。当服务器未配置机器人令牌、SMTP 服务器或 Gotify 组合时,表单只提供 使用我自己的。Webhook URL 必须使用 http 或 https,且不能指向服务器自身。
使用列表中的 发送测试消息 检查单个告警,使用工具栏中的 全部测试 向项目所有已启用的目标(包括服务器渠道)发送测试。
已绑定到模板或计划任务的告警无法删除。对话框会列出使用它的对象。

消息模板
正文是 Go 的 text/template(邮件为 html/template)。可用字段如下:
| 字段 | 值 |
|---|---|
.Name | 模板名称 |
.Author | 启动任务的用户名,或 — |
.Project.Name, .Project.ID | 项目 |
.Playbook | 模板的 Playbook 或脚本 |
.ScheduleName | 启动任务的计划任务名称(如有) |
.Task.ID, .Task.URL | 任务编号及其日志链接 |
.Task.Result | 带图标的状态,例如 |