通知渠道
通知渠道 里维护发送目标,流水线的「发送通知」任务与系统的到期提醒都用它。
支持的渠道
邮件通知Webhook钉钉机器人飞书机器人企业微信机器人AnPushServer 酱PushPlusTelegramBark
| 渠道 | 需要准备 |
|---|---|
| 邮件通知 | SMTP 服务器、端口、账号、授权码 / 密码、发件人 |
| Webhook | 一个能接收 POST 的地址,可自定义 body 模板 |
| 钉钉机器人 | 群机器人 Webhook 地址(含 access_token),可选加签 |
| 飞书机器人 | 群机器人 Webhook 地址 |
| 企业微信机器人 | 群机器人 Webhook 地址(key= 参数) |
| AnPush / Server 酱 / PushPlus | 各自的 token |
| Telegram | Bot Token + Chat ID |
| Bark | 设备推送地址(https://api.day.app/<key>) |
配置步骤
- 通知渠道 → 新建渠道,选类型,填字段。
- 点「测试」,系统会真的发一条消息出去 —— 很多渠道的 token 错误只在响应体里体现,不真发一次看不出来。
- 回到流水线,在最后加一个 通知 任务,选择这条渠道。
- 在 系统设置 → 通知 里把默认渠道设好,到期提醒会走它。
一个容易踩的坑:HTTP 200 不等于发送成功
钉钉、企业微信、飞书、Server 酱、PushPlus 这些渠道,token 错了、机器人被移出群、被限流时依然返回 HTTP 200,只在响应体里给一个非成功的 errcode / code。只看 HTTP 状态码会把「没发出去」记成「执行成功」—— 证书到期提醒静默丢失,比报错更难发现。
所以每个渠道发送后都会过一遍业务码校验:
| 渠道 | 成功值 |
|---|---|
| 钉钉 / 企业微信 | errcode == 0 |
| 飞书 | code == 0 |
| PushPlus / Bark | code == 200 |
| Server 酱 | code == 0 |
| Telegram | ok == true |
另外错误信息里只保留主机名:钉钉 / 飞书把 token 放在 query,Telegram / Bark 放在 path,整条 URL 打进执行日志等于把密钥写进历史记录。
通知任务放在哪
推荐结构:
阶段 1 申请证书
阶段 2 部署证书
阶段 3 通知 ← Notify 任务,成功/失败都发如果希望「申请失败也要通知」,在申请任务上配「失败后跳转 → 通知任务」;或者在系统设置里开启到期提醒,由平台统一推送。
消息内容
通知正文包含:流水线名称、运行结果、耗时、证书域名与到期时间、失败任务的错误摘要。日志里的完整堆栈不会进通知 —— 业务异常只有一行中文结论。
