cnb-rs issue list
cnb-rs issue list [flags]列出仓库的 Issue。
默认列出状态为 open 的 Issue,支持通过多种条件过滤和排序。
输出表格采用 content-aware 自适应列宽,贴近 gh issue list 风格:
- 默认 4 列:
ID/TITLE/LABELS/UPDATED,时间以「约 N 天前」相对格式呈现,更符合 issue 列表浏览的常见信息密度 -w, --wide模式 7 列:在默认列基础上追加PRIORITY/AUTHOR/STALE(不活跃天数),适合需要更多上下文的场景
TITLE 和 LABELS 是弹性列,会按数据自然宽度和终端可用宽度自动分配空间;列宽溢出终端时按比例缩减,最终输出严格不会 wrap。
选项
-s, --state <STATE>: 状态过滤,可选值:open、closed(默认:open)-k, --keyword <KEYWORD>: 关键词搜索,匹配 Issue 标题和描述-p, --priority <PRIORITY>: 优先级过滤,如P0、P1(多个用逗号分隔)-l, --labels <LABELS>: 标签过滤(多个用逗号分隔)--author <AUTHOR>: 创建者用户名过滤-a, --assignee <ASSIGNEE>: 处理人过滤(-表示未分配)--sort <SORT>: 排序字段,支持created_at、-created_at、-updated_at、-last_acted_at(前缀-表示倒序)-L, --limit <N>: 最大返回数量(默认:30,最大100)-d, --stale-days <N>: 仅显示超过 N 天没有活动的 Issue(默认:0,即不过滤)-w, --wide: 切换到 7 列宽表格(追加PRIORITY/AUTHOR/STALE)
继承的全局选项:
--repo <REPO>: 指定仓库路径(格式:group/repo)--json: 以 JSON 格式输出--domain <DOMAIN>: 指定目标域名(默认:cnb.cool)
示例
bash
# 列出所有 open 状态的 Issue(默认 4 列)
$ cnb-rs issue list
Showing 5 open issues in your-group/your-repo
ID TITLE LABELS UPDATED
#276 chore: add rustfmt.toml and CI fmt --check - 约 6 小时前
#274 refactor(tui): 使用 unicode-width crate 替换... - 约 1 天前
#269 修复 install.ps1 中未批准 PowerShell 动词告警 target:v0.11.2 约 3 天前
# 切换到宽表格模式(7 列:补 PRIORITY/AUTHOR/STALE)
$ cnb-rs issue list -w
# 列出已关闭的 Issue
$ cnb-rs issue list -s closed
# 搜索包含关键词的 Issue
$ cnb-rs issue list -k "登录"
# 过滤 P0 优先级
$ cnb-rs issue list -p P0
# 过滤标签
$ cnb-rs issue list -l "bug,urgent"
# 过滤未分配的 Issue
$ cnb-rs issue list -a -
# 按创建时间倒序,取前 10 条
$ cnb-rs issue list --sort -created_at -L 10
# 显示超过 30 天没有活动的 Issue
$ cnb-rs issue list -d 30
# JSON 格式输出
$ cnb-rs --json issue list终端宽度探测顺序:
COLUMNS环境变量 →crossterm::terminal::window_size→terminal::size→ 默认 100 列。 在 Windows console 下若发现表格列宽不准,可手动设置COLUMNS环境变量强制覆盖。
API
| 步骤 | API | 方法 | 说明 |
|---|---|---|---|
| 列出 Issue | ${API}/repos/{repo}/-/issues | GET | 获取 Issue 列表 |
查询参数: state、page、page_size、keyword、priority、labels、authors、assignees、order_by