SuperAPI AI 工具集

gh-fix-ci

部署与运维

查看项目

更新于 10-16 08:39

技能介绍

用途:定位并修复 GitHub PR 中失败的检查。它用 gh 找到失败的 PR 检查,抓取 GitHub Actions 日志,总结可操作的失败片段,然后提出修复计划,在获得明确批准后实施。

前提:确保 gh 已认证,例如先运行 gh auth login,再用 gh auth status 确认 workflow/repo 权限。若代理或沙箱阻断网络或认证,需先授权。

输入:repo(仓库内路径,默认 .)、pr(PR 编号或 URL,可选,默认当前分支 PR)、仓库主机的 gh 认证。

快速开始: python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>" 加 --json 可输出便于机器处理的格式。

工作流:验证 gh 认证;解析 PR(优先当前分支 gh pr view --json number,url,或用户提供的编号/URL);检查失败项(仅 GitHub Actions,优先运行内置脚本,手动回退用 gh pr checks <pr> --json name,state,bucket,link,startedAt,completedAt,workflow,再对失败检查从 detailsUrl 提取 run id 并运行 gh run view <run_id> --json name,workflowName,conclusion,status,url,event,headBranch,headSha 和 gh run view <run_id> --log;若日志仍进行中,用 gh api "/repos/<owner>/<repo>/actions/jobs/<job_id>/logs" 抓取);非 GitHub Actions 检查标为外部并仅报告 URL,不处理 Buildkite 等其他提供方;向用户总结失败检查名、run URL 和日志片段,缺失日志需明确说明;拟定简洁修复计划并请求批准;批准后实施,总结 diff/测试并询问是否开 PR;改动后建议重跑相关测试和 gh pr checks 确认。

内置资源:scripts/inspect_pr_checks.py 抓取失败检查、拉取日志并提取失败片段,失败未清除时返回非零码,可用于自动化。示例: python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "123" python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --json python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40

限制:仅处理 GitHub Actions;外部检查只报告 URL;需要 gh 认证与相应权限;修复需用户批准后才执行。