跳转到内容

cnb-rs mission resources ​

cnb-rs mission resources <MISSION> [--type issues|pulls] [--filter <JSON>] [--fields <FIELDS>] [--cursor <CURSOR>]

按 selector 查询任务集中的 Issue 或 Pull Request 资源。表格输出资源类型、编号、仓库、标题和状态。

筛选 JSON ​

--filter 接收一个 JSON 数组,原样作为请求体的 selectors。每项包含:

  • field: mission fields 返回的字段 key
  • operator: 该字段支持的操作符
  • value: 字符串数组

--type 决定查询 Issue(issues,默认)还是 Pull Request(pulls,对应服务端 resource_type 值 pull_requests)。传 --filter 时改用完整 selector DSL,需自行给出 resource_type selector,两者互斥。CNB 接口当前要求单次只选择一种资源类型。

选项 ​

  • <MISSION>: 任务集完整路径,如 wwvo/cnb-rs/project(必填)
  • --type <TYPE>: 资源类型,issues(默认)或 pulls;与 --filter 互斥
  • --filter <JSON>: selector 数组 JSON(完整 DSL,替代 --type)
  • --fields <FIELDS>: 需返回的响应字段,逗号分隔;不传时返回全部字段
  • --cursor <CURSOR>: 使用上次响应的 next_cursor 查询下一页

--fields 基于响应中 issue / pull request 的 JSON key;即使指定字段,id、repo_slug、number 仍由服务端返回。

继承的全局选项:

  • --json: 原样输出 MissionResources
  • --domain <DOMAIN>: 指定目标域名(默认:cnb.cool)

示例 ​

bash
# 查询 Issue;这是已验证可用的最简 selector
$ cnb-rs mission resources wwvo/cnb-rs/project \
    --filter '[{"field":"resource_type","operator":"contains","value":["issues"]}]'

# 仅返回表格需要的字段,并筛选 open Issue
$ cnb-rs mission resources wwvo/cnb-rs/project \
    --filter '[{"field":"resource_type","operator":"contains","value":["issues"]},{"field":"state","operator":"equals","value":["open"]}]' \
    --fields title,state

# JSON 格式输出;下一页继续传响应中的 next_cursor
$ cnb-rs mission resources wwvo/cnb-rs/project --json
$ cnb-rs mission resources wwvo/cnb-rs/project --cursor '<NEXT_CURSOR>' --json

Pull Request 使用 {"field":"resource_type","operator":"contains","value":["pull_requests"]}。

JSON 字段 ​

字段以 cnb-rs mission resources --help 的「JSON 字段(--json)」段为准(随 API 类型自动生成),例如 issues 和 next_cursor。

另请参阅 ​

Released under the MIT License.