From 8958a686a6e57a21ef1e8aa37b3066bb5e3e4568 Mon Sep 17 00:00:00 2001 From: laurencewannamaker Date: Sun, 5 Jul 2026 22:58:58 +0000 Subject: [PATCH] =?UTF-8?q?feat(pr):=20=E6=96=B0=E5=A2=9E=20pr=20+comments?= =?UTF-8?q?=20=E8=AF=BB=20PR=20=E8=AF=84=E8=AE=BA=E6=B5=81=EF=BC=88?= =?UTF-8?q?=E7=AB=AF=E7=82=B9=E5=AE=9E=E6=B5=8B=E5=BF=BD=E7=95=A5=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E5=8F=82=E6=95=B0=EF=BC=8C=E4=B8=8D=E6=9A=B4=E9=9C=B2?= =?UTF-8?q?=E5=81=87=E5=88=86=E9=A1=B5=20flag=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- doc/changes/list-all-pagination.md | 3 +++ internal/i18n/locales/en-US.json | 1 + internal/i18n/locales/zh-CN.json | 1 + shortcuts/pr/pr.go | 20 ++++++++++++++++++++ 4 files changed, 25 insertions(+) diff --git a/doc/changes/list-all-pagination.md b/doc/changes/list-all-pagination.md index 9bdb6fd2..d1eabeb8 100644 --- a/doc/changes/list-all-pagination.md +++ b/doc/changes/list-all-pagination.md @@ -39,6 +39,9 @@ issue 讨论上下文;现接 `/v1/:owner/:repo/issues/:number/journals` (资源键 `journals`,生产实测分页 + --all 合并通过), 复用 --number/--id 语义。 +- 新增 `pr +comments` 子命令:读 PR 评论流 + (`/v1/:owner/:repo/pulls/:number/journals`)。生产实测该端点 + 忽略 page/limit 始终返回全量,故不暴露分页 flag(避免假分页语义)。 - 未加 `--all` 的 list 端点均经生产验证为非分页或未部署: `licenses`/`ignores` 返回全量数组;`pm/pipelines` 404 未部署; `pipeline +runs` 用 `total_data` 非标准包裹;dataset 端点未部署(平台 issue #144255)。 diff --git a/internal/i18n/locales/en-US.json b/internal/i18n/locales/en-US.json index 9c2cc674..89b508eb 100644 --- a/internal/i18n/locales/en-US.json +++ b/internal/i18n/locales/en-US.json @@ -55,6 +55,7 @@ "cmd.org.short": "Organization operations", "cmd.pr.close.short": "Close a pull request", "cmd.pr.comment.short": "Add a comment to a pull request", + "cmd.pr.comments.short": "List comments on a pull request", "cmd.pr.create.short": "Create a pull request", "cmd.pr.diff.short": "Show diff for a pull request", "cmd.pr.files.short": "List changed files in a pull request", diff --git a/internal/i18n/locales/zh-CN.json b/internal/i18n/locales/zh-CN.json index 3e8d129f..2a30ef9d 100644 --- a/internal/i18n/locales/zh-CN.json +++ b/internal/i18n/locales/zh-CN.json @@ -55,6 +55,7 @@ "cmd.org.short": "组织操作", "cmd.pr.close.short": "关闭拉取请求", "cmd.pr.comment.short": "给拉取请求添加评论", + "cmd.pr.comments.short": "列出 PR 的评论", "cmd.pr.create.short": "创建拉取请求", "cmd.pr.diff.short": "显示拉取请求 diff", "cmd.pr.files.short": "列出拉取请求中的变更文件", diff --git a/shortcuts/pr/pr.go b/shortcuts/pr/pr.go index 334b8ca0..5e9e01e8 100644 --- a/shortcuts/pr/pr.go +++ b/shortcuts/pr/pr.go @@ -439,6 +439,26 @@ func Shortcuts(translators ...*i18n.Translator) []*common.Shortcut { return ctx.Output(env) }, }, + { + Name: "comments", + Description: tr.T("cmd.pr.comments.short"), + Flags: []common.Flag{ + {Name: "id", Short: "i", Usage: tr.T("flag.pr.id"), Required: true}, + }, + Run: func(ctx *common.RuntimeContext) error { + if err := ctx.ResolveOwnerRepo(); err != nil { + return err + } + id, _ := ctx.RequireArg("id") + // The pulls journals endpoint ignores page/limit and always + // returns the full list, so no pagination flags are exposed. + env, err := ctx.CallAPI("GET", prV1Path(ctx, id)+"/journals", nil) + if err != nil { + return err + } + return ctx.Output(env) + }, + }, } }