cnb-rs pr list
cnb-rs pr list [flags]列出 Pull Request。默认显示与当前用户相关的(我提的 + 让我评审的);可通过 --author / --reviewer 切换到 filter 模式查任意条件。
两种模式
默认模式(不传 --author/--reviewer)
并发查两类 PR 合并显示,RELATION 列标记关系:
ME->:我提的(authors=me)->ME:让我评审的(reviewers=me)ME->ME:既是我提的又要我评审
filter 模式(指定 --author 或 --reviewer)
直接按指定条件查询,多一列 STATE(不同状态的 PR 可能混在一起),不显示 RELATION。
选项
-s, --state <STATE>:状态过滤(open/closed/all),默认open--author <USERNAME>:按作者过滤;切换到 filter 模式--reviewer <USERNAME>:按评审人过滤;切换到 filter 模式-l, --label <LABELS>:按标签过滤(逗号分隔)-B, --base-ref <BRANCH>:按目标分支过滤(如main)--sort <FIELD>:排序字段(如-created_at/-updated_at)- 注意:以
-开头的值会被 clap 当成 flag;用--sort=-created_at等号形式
- 注意:以
-L, --limit <N>:最大数量(默认 30,CNB 上限 100)
继承的全局选项:
--repo <REPO>:指定仓库路径(格式:group/repo)--json:以 JSON 格式输出(完整 PullRequest 对象,不是表格 5 元组)--domain <DOMAIN>:指定目标域名(默认:cnb.cool)
示例
bash
# 默认:与我相关的 open PR(最多 30 条)
$ cnb-rs pr list
Showing 3 open pulls in wwvo/cnb-rs/cnb-rs
NUMBER TITLE LABELS UPDATED RELATION
#287 feat: add foo bug 约 2 小时前 ME->
#290 fix: bar - 约 1 天前 ->ME
#295 refactor: baz test 约 3 天前 ME->ME
# 看 closed 的(限 5 条)
$ cnb-rs pr list -s closed -L 5
# 看所有人提到 main 的 PR
$ cnb-rs pr list --reviewer "@me" -B main
# 按某作者过滤(filter 模式,多 STATE 列)
$ cnb-rs pr list -s all --author alice -L 5
# 按时间倒序(注意等号形式)
$ cnb-rs pr list -s all --sort=-created_at -L 10
# JSON 给脚本消费
$ cnb-rs --json pr list -s open | jq '.[].number'列设计
默认模式(5 列)
| 列 | 宽度 | 说明 |
|---|---|---|
| NUMBER | fixed 7 | #42 |
| TITLE | flex 20 | 标题(content-aware,按数据自然宽度) |
| LABELS | flex 6 | 标签 name 逗号分隔;空时 - |
| UPDATED | fixed 14 | 相对时间,如「约 2 小时前」 |
| RELATION | fixed 8 | ME-> / ->ME / ME->ME |
filter 模式(5 列)
| 列 | 宽度 | 说明 |
|---|---|---|
| NUMBER | fixed 7 | #42 |
| TITLE | flex 20 | 同上 |
| STATE | fixed 8 | open / closed / merged |
| LABELS | flex 6 | 同上 |
| UPDATED | fixed 14 | 同上 |
API 调用
| 模式 | API | 说明 |
|---|---|---|
| 默认 | list_pulls × 2(authors=me + reviewers=me) | tokio::join! 并发 |
| filter | list_pulls × 1(authors=X 或 reviewers=Y) | 单次调用 |
--label / --base-ref / --sort / --limit 在两种模式都生效,透传给 API。