cnb-rs issue view
cnb-rs issue view <NUMBER> [flags]查看 Issue 详情。
显示 Issue 的完整信息,包括编号、标题、状态、优先级、作者、处理人、标签、 日期信息、评论数以及正文内容。私密 Issue 会在状态值后显示黄色「私密」标识。 已关闭且 closed_at 非空时,会在「更新时间」之后显示「关闭时间」;open 状态不显示该行。
支持在浏览器中打开 Issue 页面。
选项
<NUMBER>:Issue 编号(必填)--web:在浏览器中打开 Issue 页面(仅长参;-w短参已移除,该短参为issue list -w/--wide专用)--comments:追加展示 Issue 上的评论列表(调list_issue_comments);不带本 flag 不拉
不提供
--activity:Issue 的 timeline activity 场景由独立的cnb-rs issue activity <N>命令覆盖,与 gh issue view 只有--comments一致。
继承的全局选项:
--repo <REPO>:指定仓库路径(格式:group/repo)--json:以 JSON 格式输出(带--comments时输出{ issue, comments }合并对象;否则仅输出原始 issue 详情,向后兼容)--domain <DOMAIN>:指定目标域名(默认:cnb.cool)
示例
bash
# 查看 Issue 详情(「值」列使用 flex,长 title 不会被截断)
$ cnb-rs issue view 42
字段 值
编号 #42
标题 修复登录页面样式问题
状态 open | 私密
优先级 P1
作者 张三 (zhangsan)
处理人 李四 (lisi), 王五 (wangwu)
标签 bug, frontend
创建时间 2025-01-15T10:30:00Z
评论数 3
页面样式在移动端显示异常...
# 在浏览器中打开(仅支持长参 `--web`)
$ cnb-rs issue view 42 --web
ℹ 正在打开 https://cnb.cool/your-group/your-repo/-/issues/42
# JSON 格式
$ cnb-rs --json issue view 42
# 追加展示评论
$ cnb-rs issue view 42 --comments
字段 值
...
正文内容
=== Comments (3) ===
[2055901509129592832] zhangsan · 2026-01-15T11:00:00Z
我来处理
[2055901510129592832] lisi · 2026-01-15T11:30:00Z
LGTM列设计:
字段(8 fixed) + 值(flex 30),「值」列按终端宽度自适应,避免长 title / 长字段被截断。 表格之后以原始文本输出 Issue 正文(markdown),不走表格、不截断。
状态(statuses)
IssueDetail.statuses 含有状态项时,会在正文之后、评论 section 之前按分类展示。分组标识优先使用 StatusGroup.context,缺失时使用 key;评论自身的 statuses 会缩进显示在评论正文之后。空 map 或只有空分组时不输出状态区。
状态
npc · name=AI Reviewer, slug=reviewer
✓ success review — completed https://cnb.cool/npc/1
plan: review
step: analyze评论 section 输出格式
传了 --comments 后主表 + body 之后追加:
=== Comments (N) ===
[<id>] <author> · <created_at>
<body>
[<id>] ...与 cnb-rs pr view --comments 的格式完全一致。空列表时打 (没有评论) 明确反馈。
API 调用
| 步骤 | API | 方法 | 说明 |
|---|---|---|---|
| 获取 Issue | ${API}/repos/{repo}/-/issues/{n} | GET | 始终发。IssueDetail 本身已含 assignees / labels / time 等,不需要额外调 |
| 评论(可选) | ${API}/repos/{repo}/-/issues/{n}/comments | GET | 仅在传 --comments 时调 |
两个请求用 tokio::join! 并发。评论失败(常见 403 / 仓库未开启该功能)降级为空列表不中断;get_issue 失败直接 bail。