用途:分析 dotnet 系列仓库(runtime、sdk、aspnetcore、roslyn 等)PR 在 Azure DevOps 与 Helix 上的 CI 构建与测试状态,回答“CI 是否通过”“为什么失败”“能否合并”等问题。
主要能力:脚本 Get-CIStatus.ps1 支持三种模式——按 PR 号(-PRNumber)做完整分析,含构建、失败、已知问题与结构化 JSON 摘要;按 AzDO 构建 ID(-BuildId)分析单个构建;按 Helix 作业 ID(-HelixJob,可加 -WorkItem)深入查看工作项、控制台日志与测试结果。可区分取消与失败作业、提取 Helix 工作项失败、关联 PR 文件改动、匹配“Known Build Error”已知问题,并输出 [CI_ANALYSIS_SUMMARY] JSON 供进一步推理。
使用方式:先 dotnet tool restore,再运行 dotnet pwsh ./scripts/Get-CIStatus.ps1 -PRNumber 123445 -ShowLogs;其他仓库用 -Repository 指定,如 dotnet/aspnetcore、dotnet/sdk、dotnet/roslyn。常用参数还有 -MaxJobs、-SearchMihuBot。重试 AzDO 构建可在 PR 评论 /azp run {pipeline-name} 或 /azp run;Helix 工作项无法单独重试,需重跑整个 AzDO 构建。
适用场景:检查 CI 状态、调查失败、判断是否可合并、调试 Helix 测试问题、分析超时或取消作业中可能实际通过的测试结果。
限制:脚本仅针对 Azure DevOps + Helix,不适用于 GitHub Actions、不使用 Helix 的仓库或纯构建性能问题;BuildId 模式不提供已知问题与 PR 关联。禁止使用 gh pr review --approve 或 --request-changes,仅允许 --comment,批准与阻止由人工执行。判断基础设施故障需有 Build Analysis 匹配、目标分支同样失败或确认故障等强证据。