用途:分析 dotnet 系列仓库 PR 在 Azure DevOps 与 Helix 上的 CI 构建及测试失败,判断失败是否与 PR 改动相关、是否为已知问题或基础设施问题,并给出处理建议。
主要能力:
- 通过 PR 号、AzDO 构建 ID 或 Helix 作业 ID/工作项三种模式查询。
- 获取失败作业、Helix 工作项失败、控制台日志,检索带 Known Build Error 标签的已知问题,并将失败与 PR 改动文件关联。
- 输出 [CI_ANALYSIS_SUMMARY] JSON 结构化摘要,再由使用者据此推理生成建议。
用法示例: ./scripts/Get-CIStatus.ps1 -PRNumber 123445 -ShowLogs ./scripts/Get-CIStatus.ps1 -BuildId 1276327 -ShowLogs ./scripts/Get-CIStatus.ps1 -HelixJob "4b24b2c2-..." -WorkItem "System.Net.Http.Tests" ./scripts/Get-CIStatus.ps1 -PRNumber 12345 -Repository "dotnet/runtime"
常用参数:-PRNumber、-BuildId、-ShowLogs、-Repository(默认 dotnet/efcore)、-MaxJobs、-SearchMihuBot、-HelixAccessToken。
限制与注意:
- 脚本仅针对 Azure DevOps + Helix,不适用于 GitHub Actions 工作流或纯构建性能分析。
- 内部 Helix 作业需 -HelixAccessToken,且令牌属机密,不得记录或暴露。
- 禁止使用 gh pr review --approve 或 --request-changes,仅允许 --comment。
- BuildId 模式下不提供已知问题与 PR 关联信息。
- Build Analysis 检查为红色时,不能断言所有失败均为已知问题。
- Helix 工作项无法单独重试,需重跑整个 AzDO 构建。
- 具体价格、支持平台等事实暂未提供。