cnb-rs pr reopen
cnb-rs pr reopen <NUMBER>... [flags]重新打开已关闭(非合并)的 Pull Request。支持批量编号,逐个处理;任一失败累计计数,最后以非零退出码结束(与 cnb-rs issue reopen 一致的批量语义)。
选项
<NUMBER>...:PR 编号(必填,至少一个);支持空格分隔或逗号分隔多个编号-c, --comment <STRING>:附一条重开评论(可选)。提供后会在每个 PR reopen 前先 POST 评论;评论失败不阻断 reopen(只在 stderr⚠warn)
继承的全局选项:
--repo <REPO>:指定仓库路径(格式:group/repo)--domain <DOMAIN>:指定目标域名(默认:cnb.cool)
输出约定
- stderr:每成功一个打
✓ 已重新打开 PR #N;失败的打✗ 重新打开 PR #N 失败:<err>;最后若有失败再打错误: K 个 PR 重新打开失败 - stdout:每个成功打开的 PR 输出一行完整 URL
- 退出码:全部成功 → 0;任一失败 → 1
示例
bash
# 重新打开单个 PR
$ cnb-rs pr reopen 42
✓ 已重新打开 PR #42
https://cnb.cool/org/repo/-/pulls/42
# 批量
$ cnb-rs pr reopen 42 43,44
# 附重开评论
$ cnb-rs pr reopen 42 -c "重新审视后发现这个特性仍需要"
✓ 已重新打开 PR #42
https://cnb.cool/org/repo/-/pulls/42
# 已 merged 的 PR 不能 reopen(CNB 服务端拒绝)
$ cnb-rs pr reopen 271
✗ 重新打开 PR #271 失败:{"errcode":...,"errmsg":"分支 release/v0.11.2 找不到"}
错误: 1 个 PR 重新打开失败API 调用
| 步骤 | API | 方法 | 说明 |
|---|---|---|---|
| 发评论(可选) | ${API}/repos/{repo}/-/pulls/{n}/comments | POST | 仅在传了 -c 时调;失败不阻断 reopen |
| 重新打开 PR | ${API}/repos/{repo}/-/pulls/{n} | PATCH | body { state: "open" },逐个 PR 单独调一次 |
Known limitations
- 不能 reopen 已
merged的 PR:CNB 服务端会拒绝(通常报「分支找不到」之类的派生错误,因为分支可能已被删除)
迁移指南(从 pr update --state open)
pr update --state flag 已在 P1 阶段移除(P0-2 时已加 deprecation warning)。请改用:
bash
# 旧
$ cnb-rs pr update 42 --state open
# 新
$ cnb-rs pr reopen 42