关于 gh-update-pr
一个通过 REST API 更新 GitHub PR 标题或描述的技能,适用于 `gh pr edit` 因弃用的 GraphQL 字段而失效时。它提供安全构造请求内容和验证更新的步骤。
主要功能
- 01通过 `gh api` REST 接口更新
- 02使用 `jq --arg` 安全构造 JSON
- 03先获取当前 PR 上下文
- 04省略未更改的字段
- 05验证响应 URL 和更新字段
适用场景
- 01不使用 `gh pr edit` 修改 PR 标题
- 02通过 REST API 更新 PR 描述
- 03避免陈旧字段覆盖 PR 内容
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ lwlee2608/ agent-skills --skill gh-update-pr安装后在 Claude Code 中输入/gh-update-pr确认已加载。
详细介绍
通过 REST API 更新 PR
由于 GitHub 弃用 Projects Classic(projectCards GraphQL 字段错误),gh pr edit 已无法正常工作。请改用 REST API。gh pr view 和 gh pr create 仍可正常使用,只有 gh pr edit 受到影响。
规则
- 绝不要使用
gh pr edit更新 PR 标题或正文。它会报 GraphQL 错误。 - 使用
gh api调用 REST 端点。始终通过jq --arg管道传递 JSON,以避免 shell 注入:jq -n --arg title "..." --arg body "..." '{title: $title, body: $body}' | \ gh api repos/{owner}/{repo}/pulls/{number} -X PATCH --input - --jq '.html_url' - 更新前先获取当前 PR 的上下文:
gh pr view --json number,url,baseRefName - 省略未更改的字段。 如果只更新标题,就不要在 JSON 负载中包含
body,反之亦然。包含未更改的字段可能会用过时的内容覆盖它。
验证步骤
- 发送 PATCH 请求后,确认返回的是 PR 的
html_url(而非错误)。 - 运行
gh pr view --json title,body,并确认更新后的字段与预期一致。
需要留意的常见错误
- 只更改一个字段,却同时包含标题和正文。 这可能会用过时或空白的内容覆盖另一个字段。只包含要更新的字段。
- 在没有跟踪分支的 Git 仓库外运行命令。
gh pr view需要仓库上下文。如果失败,请显式传入--repo owner/repo。 - 忘记提取 owner/repo/number。 始终先通过
gh pr view获取这些值,不要硬编码或自行假设。
评论
支持 Markdown