cnb-api · diff
git:20260805.08f37dd to git:20261004.0dd7831
26 added, 10 removed. Audit A to A.
---
name: cnb-api
description: CNB 平台交互命令,支持代码仓库、Issue、PR、CI、制品库读写等操作。
---
# cnb-api
- 操作 CNB 平台资源的 CLI 工具。
-
## 快捷命令
issues:
- `cnb issues get` — 获取详情
- `cnb issues list-comments` — 获取评论列表
- `cnb issues comment --body 内容` — 评论
- `cnb issues close` — 关闭
- `cnb issues open` — 打开
- `cnb issues list-labels` — 查看标签
- `cnb issues add-labels --labels bug --labels feature` — 添加标签
- `cnb issues list-assignees` — 查看处理人
- `cnb issues add-assignees --assignees username` — 添加处理人
- `cnb issues get-imgs --img-path 图片路径` — 获取 issue 图片
- `cnb issues get-files --file-path 附件路径` — 获取 issue 附件
pulls:
- `cnb pulls get` — 获取详情
- `cnb pulls list-files` — 获取文件变更
- `cnb pulls list-commits` — 获取提交记录
- `cnb pulls list-comments` — 获取评论列表
- `cnb pulls comment --body 内容` — 评论
- `cnb pulls list-labels` — 查看标签
- `cnb pulls add-labels --labels ready --labels approved` — 添加标签
- `cnb pulls check-status` — 查看 CI 状态
- `cnb pulls list-reviews` — 查看评审列表
+ - `cnb pulls submit-review` — 发送评审评论或提交评审结论
- `cnb pulls list-assignees` — 查看处理人
- `cnb pulls get-ci-logs --sn 构建号(可选)` — 获取 CI 失败日志
- `cnb pulls get-ci-timing --sn 构建号(可选)` — 分析 CI 耗时瓶颈
- `cnb pulls get-imgs --img-path 图片路径` — 获取 PR 图片
- `cnb pulls get-files --file-path 附件路径` — 获取 PR 附件
- 注意事项:
+ skills:
+ - `cnb skills list -p -a codebuddy --json` — 列出本地 skills
- - **参数自动识别**:快捷命令中的 Issue/PR 编号会自动从环境变量识别,无需额外传递。
- - **默认仅需摘要**:默认会精简响应输出结果,添加 `--verbose` 输出完整数据。
- - **单引号传参**:当 bash 的参数为多行文本时,使用单引号可减少防止命令注入攻击。
- - **快捷命令适用范围**: 快捷命令只能操作当前仓库的当前 Issue/PR,跨仓库或跨编号操作请参考 `更多 API`。
- - **关于提及和召唤**: 评论中直接 @npc 会召唤 npc 干活,如果只提及不召唤,应使用反引号包裹 `@npc`。
+ ## 使用约定
- ## 常用链接
+ - **编号自识别**:Issue/PR 编号自动从环境变量识别,无需额外传递。
+ - **可显式覆盖**:`--repo <组织/仓库>` 与 `--number <编号>` 均为可选参数。
+ 不传时沿用环境变量(即当前仓库的当前 Issue/PR);传入时覆盖环境变量,
+ 可用于跨仓库或跨编号场景,例如 `cnb pulls get --repo x/y --number 97`、
+ `cnb issues get --number 68`。两个参数相互独立,可只传其中一个。
+ - **默认摘要省流**:默认精简输出,加 `--verbose` 输出完整数据。
+ - **多行用单引号**:bash 参数为多行文本时用单引号,降低命令注入风险。
+ - **提及不召唤**:评论中直接 @npc 会召唤 npc;仅提及不召唤时,用反引号包裹 `@npc`。
+ NPC 的触发条件见 `cnb-npc-search`,单独 `@仓库名` 不会触发。
- 在生成链接时请遵循下面的结构:
+ ## 取正文里的图片与附件
+ 评论正文里的图片、附件 URL,一律用 `get-imgs` / `get-files` 取回,URL 从 `list-comments` 原文取:
+
+ - **参数取 URL 的尾段,且必须含数字 ID 段**:图片取 `/imgs/<issues|pulls>/` 之后的**完整尾段**,
+ 附件取 `/files/<issues|pulls>/` 之后的完整尾段;尾段首位的数字 ID 段不能省,漏掉会返回 `404 Resource not found`:
+ - 原文 `.../-/imgs/issues/2101868753481326592/Lma2nfHjnchalMtHZcq4OA/6d7ab033-xxxx.png`
+ - 正确 `2101868753481326592/Lma2nfHjnchalMtHZcq4OA/6d7ab033-xxxx.png` ✅
+ - 漏 ID `Lma2nfHjnchalMtHZcq4OA/6d7ab033-xxxx.png` ❌ `404`
+ - **CLI 内置鉴权**:手写 `Authorization: Bearer` 或 `token` 都不被识别,只会拿到 400
+
+ ## 常用链接
+
+ 生成链接时遵循以下结构:
- Issue: `<host>/<slug>/-/issues/<number>`
- PR: `<host>/<slug>/-/pulls/<number>`
## 更多 API
1. `cnb --help` 查看所有模块
2. `cnb <module> --help` 查看模块下的工具列表
3. `cnb <module> <tool> --help` 查看工具参数