用途:调查 PagerDuty 事件,面向 Envato 值班升级策略下的值班状态与事件分析,适用于被询问事件、值班状态或事件分析等场景。
主要能力:认证后列出升级策略,抓取事件列表及每起事件的日志、备注与分析数据,判断跨 Envato 值班团队的相关性,并输出事件摘要表、跨团队关联、时间线、关键发现与建议。
使用方式:可传两个可选参数,$ARGUMENTS[0] 为开始日期(YYYY-MM-DD,默认当天),$ARGUMENTS[1] 为结束日期(默认当天)。目标升级策略按顺序解析:config.json 中的 escalation_policies 数组;PD_ESCALATION_POLICIES 逗号分隔环境变量;两者都为空则包含全部升级策略。先运行 node scripts/fetch-pd.js .pageduty-oncall-tmp $ARGUMENTS[0] $ARGUMENTS[1],该脚本依次处理认证、升级策略列表、事件列表及每起事件的日志/备注/分析,以避免 PagerDuty API 速率限制。若出现认证错误,应提示用户并参考 PagerDuty CLI 用户指南完成设置,脚本成功前不要继续。随后先读 summary.json 了解范围,再读 incidents.json 以及 logs/、notes/、analytics/ 下所有文件,最后用 Write 写入 .pageduty-oncall-tmp/report.md。
输出目录:.pageduty-oncall-tmp/ 下含 ep-list.json、incidents.json、logs/<INCIDENT_ID>.json、notes/<INCIDENT_ID>.json、analytics/<INCIDENT_ID>.json、summary.json 与 report.md。
系统要求:安装 pd CLI(https://github.com/martindstone/pagerduty-cli);PATH 中有 node;设置环境变量 PAGEDUTY_API_TOKEN 为有效 PagerDuty REST API 令牌。限制:依赖上述 CLI、Node 与有效令牌;时间戳需以用户本地时间而非 UTC 呈现;脚本需成功执行后才能分析。