bk-cli-devops

当需要通过 bk-cli devops pipeline、bk-cli devops codecc、bk-cli devops stream 使用蓝盾 DevOps 子系统命令时使用。适合查询和操作流水线构建、查询制品下载链接、查看 CodeCC 告警明细或统计、查询 Stream 流水线信息、触发 Stream 流水线的场景。只要用户给出 pipelineId、buildId、taskId、gongfengId、gitProjectId、yamlPath 这类 DevOps 标识,或明确提到 蓝盾、CodeCC、Stream、流水线、工蜂项目,就应该优先使用本 skill。

tencentblueking/bk-cli4 installsMITSynced Aug 26

Works with

Claude CodeCursorCodex CLIGitHub CopilotGemini CLI

Agent Skills format with YAML frontmatter. Claude Code reads it as-is.

---
name: "bk-cli-devops"
description: "当需要通过 bk-cli devops pipeline、bk-cli devops codecc、bk-cli devops stream 使用蓝盾 DevOps 子系统命令时使用。适合查询和操作流水线构建、查询制品下载链接、查看 CodeCC 告警明细或统计、查询 Stream 流水线信息、触发 Stream 流水线的场景。只要用户给出 pipelineId、buildId、taskId、gongfengId、gitProjectId、yamlPath 这类 DevOps 标识,或明确提到 蓝盾、CodeCC、Stream、流水线、工蜂项目,就应该优先使用本 skill。"
license: "MIT"
---

# bk-cli devops — 蓝盾 DevOps / CodeCC / Stream 能力使用说明

用于通过 `bk-cli devops` 调用蓝盾 DevOps 平台 API 的系统子命令。

CRITICAL — 开始前 MUST 先用 Read 工具读取 `../bk-cli-shared/SKILL.md`。共享 skill 负责认证、context、tenant、stage、dry-run、verbose、header/body 和通用请求规则;本 skill 只补充 `devops` 命令自己的分组方式、参数语义和常见用法。

## 先判断命令形态

- `bk-cli devops` 现在只负责分组,本身没有直接 action。
- 必须先判断需求属于哪个 subsystem,再生成 `bk-cli devops <subsystem> <action>`。
- 看到“构建、制品、view、启动/停止构建”优先走 `pipeline`。
- 看到“CodeCC、告警、缺陷、统计、taskId、gongfengId”优先走 `codecc`。
- 看到“Stream、工蜂、YAML 流水线、手动触发、gitProjectId”优先走 `stream`。

## 当前覆盖范围

当前 `devops` system 按三个 subsystem 组织:

- `bk-cli devops pipeline`:`get_build_list`、`get_build_status`、`get_build_start_info`、`get_artifactory_list`、`get_artifactory_user_download_url`、`get_artifactory_third_party_download_url`、`get_view_pipelines`、`start_build`、`stop_build`
- `bk-cli devops codecc`:`get_task_detail`、`get_gf_defect_detail_by_task_id`、`get_defect_detail_by_task_id`、`get_pipeline_defect_detail`、`get_gf_defect_detail`、`get_pipeline_defect_statistic`、`get_gf_defect_statistic`、`get_gf_defect_statistic_by_task_id`、`get_defect_statistic_by_task_id`
- `bk-cli devops stream`:`get_pipelines_list_info`、`get_name2pipeline_info`、`get_pipelines_manual_trigger_info`、`trigger`

## 输入约定和易错点

- CLI flag 名保持上游接口原样,不做本地 snake_case 改写;直接按接口参数名传入,例如 `projectId`、`pipelineId`、`buildNo`、`taskId`、`pageSize`、`yamlPath`。
- `pipeline` 子命令里的 `projectId` 是 蓝盾项目英文名,不是数字 ID。
- `pipelineId` 是流水线 ID,通常为 `p-` 前缀;`buildId` 是构建 ID,通常为 `b-` 前缀。
- `codecc` 相关命令要先分清查询入口:有 `taskId` 就优先按任务查;有 `pipelineId` 就走流水线维度;有 `gongfengId` 就走工蜂开源治理维度。
- `stream get_pipelines_list_info` 使用的是路径参数 `gitProjectId`,值是工蜂项目数字 ID。
- 其余 Stream 接口里的 `projectId` 不是英文名,而是固定格式 `git_${工蜂项目ID}`。
- `start_build` 在未传 `--body` 时会发送空 JSON 对象 `{}`;如果用户已经准备好了启动参数,直接透传 `--body`。
- `stream trigger` 必须显式传入完整 JSON `--body`,不能省略。

## 选择命令的思路

### Pipeline

适用场景:
查询构建历史、看构建状态、获取手动启动参数、查询制品、取下载链接、查看 view 下的流水线、启动或停止构建。

代表命令:

```bash
bk-cli devops pipeline get_build_list --projectId myproject --pipelineId p-xxx
bk-cli devops pipeline get_build_status --projectId myproject --buildId b-xxx
bk-cli devops pipeline get_build_start_info --projectId myproject --pipelineId p-xxx
bk-cli devops pipeline get_artifactory_list --projectId myproject --pipelineId p-xxx --buildId b-xxx --page 1 --pageSize 20
bk-cli devops pipeline get_artifactory_user_download_url --projectId myproject --artifactoryType PIPELINE --path /demo/pkg.tgz
bk-cli devops pipeline get_artifactory_third_party_download_url --projectId myproject --artifactoryType PIPELINE --path /demo/pkg.tgz --ttl 600
bk-cli devops pipeline get_view_pipelines --projectId myproject --viewId allPipeline --page 1 --pageSize 20
bk-cli devops pipeline start_build --projectId myproject --pipelineId p-xxx
bk-cli devops pipeline stop_build --projectId myproject --pipelineId p-xxx --buildId b-xxx
```

补充说明:

- `get_build_list` 常和 `status`、`trigger`、`page`、`pageSize` 一起用。
- `get_view_pipelines` 用于按 view 查询流水线列表;如果用户提到 view、筛选流水线名、按创建人过滤,优先考虑它。
- `start_build` 支持 `--buildNo`,也支持通过 `--body` 传完整启动参数。

### CodeCC

适用场景:
查任务详情、普通任务告警明细、工蜂治理告警明细、按流水线查告警、查各类统计数据。

代表命令:

```bash
bk-cli devops codecc get_task_detail --taskId 123456789
bk-cli devops codecc get_defect_detail_by_task_id --taskId 123456789 --pageNum 1 --pageSize 20
bk-cli devops codecc get_gf_defect_detail_by_task_id --taskId 123456789 --dimension SECURITY
bk-cli devops codecc get_pipeline_defect_detail --pipelineId p-xxx --dimension STANDARD
bk-cli devops codecc get_gf_defect_detail --gongfengId 12345 --toolName COVERITY
bk-cli devops codecc get_pipeline_defect_statistic --pipelineId p-xxx --dimension SECURITY
bk-cli devops codecc get_gf_defect_statistic --gongfengId 12345
bk-cli devops codecc get_gf_defect_statistic_by_task_id --taskId 123456789
bk-cli devops codecc get_defect_statistic_by_task_id --taskId 123456789
```

补充说明:

- `toolName` 和 `dimension` 常一起出现;如果用户明确给了工具名,直接透传。
- 多数明细接口支持 `buildId`,未传时默认按最新构建取数。
- `pageNum` / `pageSize` 是 CodeCC 这组接口常见分页参数,不要误写成 `page`。

### Stream

适用场景:
查工蜂项目下的 Stream 流水线列表、按 YAML 路径查流水线、获取手动触发信息、触发 Stream 流水线。

代表命令:

```bash
bk-cli devops stream get_pipelines_list_info --gitProjectId 12345
bk-cli devops stream get_name2pipeline_info --projectId git_12345 --yamlPath .ci/demo.yml
bk-cli devops stream get_pipelines_manual_trigger_info --projectId git_12345 --pipelineId p-xxx --branchName main
bk-cli devops stream trigger --projectId git_12345 --pipelineId p-xxx --body '{"path":".ci/demo.yml","branch":"main","projectId":"git_12345","customCommitMsg":"manual trigger"}'
```

补充说明:

- `gitProjectId` 和 `projectId=git_<id>` 很容易混淆,先按 action 分清参数名再生成命令。
- `yamlPath` 通常是 `.ci/*.yml` 或 `.ci/*.yaml`。
- `trigger` 的 `--body` 要和上游触发契约一致;如果用户只给了零散字段,不要擅自脑补缺失字段。

More General & Other skills

← All General & Other skills

Check your AI visibility

One URL in, a 0–100 score and the exact fixes out.

RUN THE CHECK

Browse all the tools

15 tools across six categories
13 of them never send your data anywhere

Free · No signup · No trial clock

SEE THE DIRECTORY