fix: load watchdog webhook from user env
This commit is contained in:
@@ -2119,6 +2119,35 @@
|
||||
- 本轮无 required 阻塞项。
|
||||
- 真实外部告警到人仍等待 Webhook URL;在 URL 提供前,系统已完成本地证据闭环和 02:00 低负载巡检调度。
|
||||
|
||||
## 2026-05-17 企业微信真实 Webhook 告警送达闭环
|
||||
### 本轮完成项
|
||||
- 已将真实企业微信机器人 Webhook 配置到 Windows User 环境变量:
|
||||
- 变量名:`AI_CONTRACT_WATCHDOG_WEBHOOK_URL`
|
||||
- 变量值:已配置,按密钥处理,不写入 Git、文档或计划任务命令。
|
||||
- 已修复 `scripts/run-production-watchdog-scheduler.ps1` 的 Webhook 读取逻辑:
|
||||
- 原问题:脚本只读取当前进程环境变量,新开的 PowerShell 或计划任务可能读不到 User 环境变量。
|
||||
- 现状态:按 `Process -> User -> Machine` 顺序读取 `AI_CONTRACT_WATCHDOG_WEBHOOK_URL`,计划任务可直接使用已配置的 User 环境变量。
|
||||
- 已执行真实非 dry-run 送达测试:
|
||||
- 命令模式:`RunOnce`
|
||||
- 巡检模式:轻量巡检,`-SkipWorktreeCheck -SkipCapacityGovernance`
|
||||
- 通知策略:本次临时 `NotifyOnStatus=All`,用于 PASS 也发送一条测试消息。
|
||||
- 结果:`PHASE7_WATCHDOG_SCHEDULER_PASS`
|
||||
- 产物:`project-docs/qa-artifacts/phase7.5-watchdog-scheduler/2026-05-17T22-13-23-234/watchdog-scheduler-summary.md`
|
||||
- Webhook 检查:`PASS`
|
||||
- Webhook 类型:`wecom`
|
||||
- dry-run:`false`
|
||||
|
||||
### 当前状态
|
||||
- 企业微信真实告警到人链路已经打通。
|
||||
- 每天 `02:00` 的低负载计划任务仍按 `WarnOrFail` 策略运行:
|
||||
- 正常 PASS 不打扰。
|
||||
- 出现 WARN/FAIL 时自动推送企业微信。
|
||||
- 计划任务命令仍只引用环境变量名,不保存真实 Webhook URL。
|
||||
|
||||
### 阻塞项
|
||||
- 本轮无 required 阻塞项。
|
||||
- 外部 Webhook 已从“等待真实地址”变为“真实送达已验证”。
|
||||
|
||||
## 2026-05-16 Phase14 生产巡检与 Chat/报告法条引用闭环
|
||||
### 本轮完成项
|
||||
- 已完成 Chat/报告法条引用闭环代码补齐并推送远程 `main`:
|
||||
|
||||
@@ -89,6 +89,14 @@ function Get-EffectiveWebhookUrl {
|
||||
if (-not [string]::IsNullOrWhiteSpace($value)) {
|
||||
return $value
|
||||
}
|
||||
$value = [Environment]::GetEnvironmentVariable($WebhookUrlEnvVar, "User")
|
||||
if (-not [string]::IsNullOrWhiteSpace($value)) {
|
||||
return $value
|
||||
}
|
||||
$value = [Environment]::GetEnvironmentVariable($WebhookUrlEnvVar, "Machine")
|
||||
if (-not [string]::IsNullOrWhiteSpace($value)) {
|
||||
return $value
|
||||
}
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user