用途 该技能面向 OpenShift HyperShift 仓库,专门修复由机器人(bot)提交、因缺少生成文件而 CI 失败或验证不通过的 PR。它只处理作者标记为 is_bot: true 的 PR,人工提交的 PR 会被拒绝。
主要能力
- 校验输入:接受 PR 编号或完整 GitHub URL,提取数字并查询 PR 状态、作者、分支、提交等信息;要求 PR 存在、状态为 OPEN、作者为机器人、工作目录干净。
- 创建修复分支:从基础分支(base branch)新建 fix/<原分支名> 分支。
- 提交整理:cherry-pick 机器人 PR 的提交,并按约定式提交(conventional commit)规范改写提交信息,例如将 Dependabot 的“NO-JIRA: Bump...”转换为“chore(deps): bump...”,将 Konflux 更新转换为“chore(konflux): ...”。
- 重新生成文件:运行 make verify 生成必要文件,运行 UPDATE=true make test 更新测试夹具。
- 逻辑化提交:把变更拆分为 go.mod/go.sum、vendor/、api 模块、重新生成的 CRD 清单、其它变更等独立提交。
- 最终验证:再运行 make verify 与 make test。
- 结果处理:成功则推送分支、以“NO-JIRA:”前缀创建新 PR,引用并关闭原 PR(无权限时改为评论说明已被取代);失败则中止、保留原 PR、清理本地 fix 分支并返回原分支。
使用方式 以参数传入 PR 编号或 URL,例如“/fix-hypershift-repo-robot-pr 7435”或“/fix-hypershift-repo-robot-pr https://github.com/openshift/hypershift/pull/7332”。运行过程中通过 TodoWrite 工具报告进度,并输出成功或失败的详细信息。
适用场景 适用于 HyperShift 仓库中 Dependabot、Konflux、Renovate 等机器人提交的依赖更新、镜像与流水线更新类 PR,特别是因缺少重新生成文件而在 CI 中失败的 PR。
限制与要求 需要安装并已认证 gh CLI,具备推送与创建 PR 权限;git 需配置 user.name 与 user.email;需具备 make 与 Go 工具链;工作目录必须无未提交变更。若 make verify 或 make test 失败、git push 失败或 PR 创建失败,会给出对应错误信息,原 PR 不会被关闭。缺少关闭权限时仅回退为评论。
暂未提供 该技能的具体安装命令、版本信息、支持的其它仓库范围以及性能数据暂未提供。