DevOps Pipeline Management Skill
概述
此 Skill 是 DevOps 质效平台的流水线管理专家,通过 OpenAPI 接口实现流水线的全生命周期管理。
核心能力:
- - 工作空间管理:查询工作空间列表,支持按名称、组织、产品线筛选
- 流水线管理:创建、查询、更新、删除流水线,支持基于模板快速创建
- 执行管理:执行流水线(支持交互式/非交互式模式)、取消执行、查询执行记录和详情
- 模板管理:查询流水线模板列表,支持按名称、类型、语言筛选,用于快速创建流水线
技术栈:Python 3.8+、Requests、RESTful API
⚠️ 全局执行约束(强制执行)
执行任何子功能时,必须严格参考对应子功能文档。子功能文档即执行规范,禁止跳过、合并或自行发挥。
核心原则
子功能文档 = 执行规范 = 法律效力
必须按文档定义的步骤顺序执行 |
|
执行后 | 必须满足文档中的约束条件 |
严格禁止的行为:
- - ✗ 不读文档直接执行
- ✗ 跳过或调换步骤执行
- ✗ 合并多个步骤为一步
- ✗ 自行实现功能而不调用对应Skill
全局约束清单
| 约束类型 | 约束说明 | 违反后果 |
|---|
| 文档强制参考 | 执行子功能前必须阅读对应子功能文档 | 流程错误、操作失效 |
| 步骤顺序 |
子功能文档中定义的步骤必须按顺序执行,不得跳过、调换或合并 | 数据不完整、执行失败 |
|
配置预览 | 步骤中明确要求"预览"或"确认"的,必须执行该步骤后再继续 | 配置错误、无法追溯 |
|
必填校验 | 必填字段(文档中标记 ✅ 或"必填")不能为空或空数组 | API调用失败 |
|
ID生成 | 新建实体时必须生成新的UUID,禁止复用已有ID | 数据冲突、覆盖问题 |
|
API调用 | 必须使用文档中指定的API接口,禁止自行调用其他接口 | 权限错误、功能异常 |
|
跨Skill调用 | 需要执行其他Skill功能时(如执行流水线),必须调用对应Skill | 流程中断、功能缺失 |
子功能文档(强制参考)
每个子功能都有专属文档,执行时必须严格参考对应文档
流水线核心操作
references/pipeline-update.md |
6步骤顺序、保留原pipelineId、ID保留 |
| 执行流水线 |
references/pipeline-run.md | taskDataList非空、参数组装、交互式/非交互式模式 |
任务节点管理
references/pipeline-task-update.md | 先查询、保留ID、字段合并 |
| 删除任务节点 |
references/pipeline-task-delete.md | 前置确认、双重移除、依赖检查 |
查询与监控
references/pipeline-page.md | 分页参数、排序规则 |
| 查询模板 |
references/pipeline-template.md | 语言筛选、类型筛选 |
| 查询执行记录 |
references/pipeline-list.md | 分页查询、状态筛选 |
| 查询执行详情 |
references/pipeline-run-detail.md | 日志ID校验 |
| 流水线详情查询 |
references/pipeline-detail.md | pipelineId校验 |
其他操作
references/pipeline-cancel.md | 仅限执行中状态 |
约束示例
✅ 正确做法
❌ 错误做法(禁止)
- - 不读文档直接执行
- 跳过配置预览步骤
- 自行实现 pipeline-run 功能而不调用 skill
- 合并多个步骤为一步
- 使用空数组作为 taskDataList
- 跳过必填字段校验
DevOps Pipeline Management Skill
概述
此 Skill 是 DevOps 质效平台的流水线管理专家,通过 OpenAPI 接口实现流水线的全生命周期管理。
核心能力:
- - 工作空间管理:查询工作空间列表,支持按名称、组织、产品线筛选
- 流水线管理:创建、查询、更新、删除流水线,支持基于模板快速创建
- 执行管理:执行流水线(支持交互式/非交互式模式)、取消执行、查询执行记录和详情
- 模板管理:查询流水线模板列表,支持按名称、类型、语言筛选,用于快速创建流水线
技术栈:Python 3.8+、Requests、RESTful API
环境准备
1. 系统要求
- - Python 3.8+
- 网络可访问 DevOps 平台 API
2. 依赖安装
CODEBLOCK0
或使用 requirements.txt:
CODEBLOCK1
3. 获取 API 凭证
联系平台管理员获取以下凭证:
| 凭证 | 说明 |
|---|
| Domain Account | 域账号,用于权限校验和审计 |
环境变量配置
环境变量说明
| 变量名 | 必填 | 说明 |
|---|
| DEVOPSDOMAINACCOUNT | 是 | 域账号,用于权限校验和审计 |
| DEVOPSBFFURL |
是 | BFF 服务地址 |
| INTERACTIVE_MODE | 否 | 交互模式开关(默认:true)。true 时执行流水线会询问是否交互式选择分支/标签/版本 |
必填环境变量
CODEBLOCK2
可选环境变量
CODEBLOCK3
持久化配置
将环境变量添加到 shell 配置文件(如 ~/.zshrc 或 ~/.bashrc):
CODEBLOCK4
然后执行:
CODEBLOCK5
安装
方式一:直接使用
CODEBLOCK6
方式二:添加到 PATH(可选)
CODEBLOCK7
说明:文档中的命令示例统一使用 python -m scripts/main 作为入口命令。如需简化命令,可创建符号链接。
快速开始
1. 验证配置
CODEBLOCK8
2. 查询工作空间
CODEBLOCK9
3. 查询流水线列表
CODEBLOCK10
4. 执行流水线
CODEBLOCK11
典型工作流程
流程一:查找并执行流水线
CODEBLOCK12
流程二:基于模板创建流水线(9步骤规范)
执行约束:创建流水线必须严格按照 pipeline-create.md 定义的9步骤顺序执行,不得跳过、调换或合并步骤。保存流水线操作通过 save 命令实现。
CODEBLOCK13
关键约束:
- - 步骤顺序:必须按 1→2→3→4→5→6→7→8→9 顺序执行,不得跳过、调换或合并
- 配置预览:步骤7(配置预览)必须执行,用户确认后才能保存
- 命令调用:步骤8使用
save 命令保存,步骤9使用 run 命令执行 - ID生成:
pipelineId 新建时必须生成 UUID;模板转换时所有节点必须生成新 UUID - 必填项:
stages 和 taskDataList 不能为空数组,否则保存/执行失败 - API限定:只能使用文档中指定的 API 接口
说明:
- - 创建流水线通过
save 命令实现,需遵循上述9步骤流程 - 模板查询支持按名称模糊搜索、按类型筛选、按编程语言筛选
- 支持的模板语言:java, python, nodejs, go, dotnet, frontend, common
流程三:监控执行状态
CODEBLOCK14
命令参考
所有命令均通过 python -m scripts/main <command> 调用。
工作空间与模板管理
| 命令 | 说明 | 用法 |
|---|
| INLINECODE12 | 查询工作空间列表 | INLINECODE13 |
| INLINECODE14 |
查询流水线模板列表 |
main.py templates <space_id> [--name NAME] [--type TYPE] [--language LANG] [--account ACCOUNT] [--page N] [--size N] |
|
pipelines | 查询流水线列表 |
main.py pipelines <space_id> [--name NAME] [--page N] [--size N] |
流水线配置管理
| 命令 | 说明 | 用法 |
|---|
| INLINECODE18 | 查询流水线详情 | INLINECODE19 |
| INLINECODE20 |
保存流水线(创建或更新) |
main.py save [--config JSON] [--file FILE] [--task-data JSON] [--task-data-file FILE] |
|
delete | 删除流水线 |
main.py delete <pipeline_id> |
save 命令参数说明:
- -
--config <json_string>:流水线配置JSON字符串 - INLINECODE26 :流水线配置JSON文件路径
- INLINECODE27 :任务数据JSON字符串(可选)
- INLINECODE28 :任务数据JSON文件路径(可选)
注意:save 命令既可用于保存新流水线(需生成新pipelineId),也可用于更新现有流水线(保留原pipelineId)。创建流水线时应遵循 pipeline-create.md 的9步骤规范,更新流水线时应遵循 pipeline-update.md 的6步骤规范。
流水线执行与监控
| 命令 | 说明 | 用法 |
|---|
| INLINECODE30 | 执行流水线 | INLINECODE31 |
| INLINECODE32 |
查询执行记录 |
main.py list <pipeline_id> [--page-num N] [--page-size N] |
|
run-detail | 查询执行详情 |
main.py run-detail <pipeline_log_id> |
|
cancel | 取消流水线执行 |
main.py cancel <pipeline_log_id> |
任务节点管理(流水线更新流程的一部分)
任务节点的添加、更新、删除操作是流水线更新流程的一部分,通过修改流水线配置并调用 save 命令实现。详细操作请参考:
所有任务操作完成后,必须通过 save 命令统一保存流水线配置。
使用示例
查询工作空间列表
CODEBLOCK15
查询流水线列表
CODEBLOCK16
查询流水线模板
CODEBLOCK17
基于模板创建流水线
完整9步骤交互式创建:
创建流水线需遵循 pipeline-create.md 定义的9步骤规范。以下是完整流程:
CODEBLOCK18
注意:创建流水线必须严格遵循9步骤规范,包括:模板选择、代码源配置、任务节点配置、配置预览、保存和执行。
分步创建(高级用法):
CODEBLOCK19
模板使用流程说明:
- 1. 推荐使用完整交互式流程:遵循9步骤规范创建流水线
- 模板查询(可选):先通过
templates 命令查询可用模板,了解模板ID和配置 - 交互式创建:通过交互式向导收集配置信息,支持选择模板、配置代码源、配置任务节点
- 配置预览:创建过程中必须展示配置预览,供用户确认后再保存
- 自动执行:默认创建完成后自动执行流水线(步骤9),可根据需要跳过
- 更新配置:创建后如需修改,可遵循6步骤规范使用
save 命令更新配置
查询流水线详情
CODEBLOCK20
执行流水线
CODEBLOCK21
查询执行记录
CODEBLOCK22
查询执行详情
CODEBLOCK23
取消流水线
CODEBLOCK24
创建流水线
CODEBLOCK25
更新流水线
CODEBLOCK26
删除流水线
CODEBLOCK27
请求头
| Header | 说明 | 示例 |
|---|
| X-User-Account | 用户域账号 | INLINECODE42 |
API 接口列表
Base URL: /api/ai-bff/rest/openapi/pipeline
| 序号 | 功能 | 接口路径 | 方法 |
|---|
| 1 | 保存流水线 | /save | POST |
| 2 |
手动执行流水线 | /runByManual | POST |
| 3 | 获取流水线参数 | /edit | GET |
| 4 | 取消流水线 | /cancel | POST |
| 5 | 分页查询流水线执行记录 | /queryPipelineWorkPage | GET |
| 6 | 查询流水线执行记录详情 | /getPipelineWorkById | GET |
| 7 | 删除流水线 | /delete | POST |
| 8 | 分页查询流水线 | /queryPipelinePage | POST |
| 9 | 分页查询流水线模板 | /queryPipelineTemplatePage | POST |
| 10 | 查询最近流水线执行记录 | /queryLastestSelectedValueByField | POST |
| 11 | 查询流水线基本信息 | /queryPipelineById | GET |
| 12 | 分页获取分支/标签列表 | /getRepoBranchAndTagList | POST |
| 13 | 分页获取commit列表 | /queryRepoCommitList | POST |
| 14 | 查询代码提交详情 | /queryCommitDetail | POST |
| 15 | 获取镜像tag列表 | /imageTags | GET |
| 16 | 获取包版本列表 | /packageVersions | GET |
| 17 | 分页查询工作空间 | /queryWorkspacePage | POST |
完整 API 文档请参考: pipeline_skill.md
流水线状态说明
| 状态码 | 状态名称 | 说明 |
|---|
| 100000 | 未执行 | 流水线初始状态 |
| 100001 |
等待中 | 等待执行资源 |
| 100002 | 执行中 | 正在执行 |
| 100004 | 成功 | 执行成功 |
| 100005 | 失败 | 执行失败 |
| 100006 | 已取消 | 用户取消 |
错误处理
常见错误
| 错误码 | 说明 | 解决方案 |
|---|
| 401 | 无API访问权限 | 联系管理员开通对应 API 权限 |
| 404 |
流水线不存在 | 检查流水线ID是否正确 |
| 429 | 请求过于频繁 | 降低请求频率 |
调试模式
执行时会打印详细的请求和响应信息:
CODEBLOCK28
子功能文档
详细功能说明请参考 references/ 目录:
流水线核心操作
pipeline-update.md |
| 流水线执行 |
pipeline-run.md |
任务节点管理
pipeline-task-update.md |
| 删除任务节点 |
pipeline-task-delete.md |
查询与监控
pipeline-template.md |
| 流水线列表查询 |
pipeline-page.md |
| 流水线详情查询 |
pipeline-detail.md |
| 流水线执行记录查询 |
pipeline-list.md |
| 流水线执行详情查询 |
pipeline-run-detail.md |
其他操作
pipeline-cancel.md |
注意事项
- 1. 环境变量必填: 环境变量(DEVOPSDOMAINACCOUNT、DEVOPSBFFURL)均为必填,缺少任意一个将无法正常使用
- 域账号必填:
domain_account 用于权限校验和操作审计 - 删除不可恢复: 删除操作不可恢复,请谨慎使用
- 取消限制: 取消操作只对正在执行的流水线有效(状态为 100001 或 100002)
- 执行权限: 执行流水线需要对应的 API 访问权限,无权限时返回 401
- 环境变量持久化: 建议将环境变量配置到
~/.zshrc 或 ~/.bashrc 中,避免每次手动设置 - ID说明:
-
space_id /
id(WorkSpaceVO):工作空间ID,用于查询流水线列表
-
pipeline_id /
pipelineId:流水线ID,用于执行、查询详情等操作
-
pipeline_log_id /
id(PipelineWorkVO):执行记录ID,用于查看执行详情、取消执行
更新日志
v1.2.0
- - 移除 AppKey 签名认证,简化认证流程
- 仅需配置域账号和 BFF 服务地址
DevOps Pipeline Management Skill
概述
此技能是DevOps质效平台的流水线管理专家,通过OpenAPI接口实现流水线的全生命周期管理。
核心能力:
- - 工作空间管理:查询工作空间列表,支持按名称、组织、产品线筛选
- 流水线管理:创建、查询、更新、删除流水线,支持基于模板快速创建
- 执行管理:执行流水线(支持交互式/非交互式模式)、取消执行、查询执行记录和详情
- 模板管理:查询流水线模板列表,支持按名称、类型、语言筛选,用于快速创建流水线
技术栈:Python 3.8+、Requests、RESTful API
⚠️ 全局执行约束(强制执行)
执行任何子功能时,必须严格参考对应子功能文档。子功能文档即执行规范,禁止跳过、合并或自行发挥。
核心原则
子功能文档 = 执行规范 = 法律效力
必须按文档定义的步骤顺序执行 |
|
执行后 | 必须满足文档中的约束条件 |
严格禁止的行为:
- - ✗ 不读文档直接执行
- ✗ 跳过或调换步骤执行
- ✗ 合并多个步骤为一步
- ✗ 自行实现功能而不调用对应技能
全局约束清单
| 约束类型 | 约束说明 | 违反后果 |
|---|
| 文档强制参考 | 执行子功能前必须阅读对应子功能文档 | 流程错误、操作失效 |
| 步骤顺序 |
子功能文档中定义的步骤必须按顺序执行,不得跳过、调换或合并 | 数据不完整、执行失败 |
|
配置预览 | 步骤中明确要求预览或确认的,必须执行该步骤后再继续 | 配置错误、无法追溯 |
|
必填校验 | 必填字段(文档中标记 ✅ 或必填)不能为空或空数组 | API调用失败 |
|
ID生成 | 新建实体时必须生成新的UUID,禁止复用已有ID | 数据冲突、覆盖问题 |
|
API调用 | 必须使用文档中指定的API接口,禁止自行调用其他接口 | 权限错误、功能异常 |
|
跨技能调用 | 需要执行其他技能功能时(如执行流水线),必须调用对应技能 | 流程中断、功能缺失 |
子功能文档(强制参考)
每个子功能都有专属文档,执行时必须严格参考对应文档
流水线核心操作
references/pipeline-update.md |
6步骤顺序、保留原pipelineId、ID保留 |
| 执行流水线 |
references/pipeline-run.md | taskDataList非空、参数组装、交互式/非交互式模式 |
任务节点管理
references/pipeline-task-update.md | 先查询、保留ID、字段合并 |
| 删除任务节点 |
references/pipeline-task-delete.md | 前置确认、双重移除、依赖检查 |
查询与监控
references/pipeline-page.md | 分页参数、排序规则 |
| 查询模板 |
references/pipeline-template.md | 语言筛选、类型筛选 |
| 查询执行记录 |
references/pipeline-list.md | 分页查询、状态筛选 |
| 查询执行详情 |
references/pipeline-run-detail.md | 日志ID校验 |
| 流水线详情查询 |
references/pipeline-detail.md | pipelineId校验 |
其他操作
references/pipeline-cancel.md | 仅限执行中状态 |
约束示例
✅ 正确做法
❌ 错误做法(禁止)
- - 不读文档直接执行
- 跳过配置预览步骤
- 自行实现 pipeline-run 功能而不调用技能
- 合并多个步骤为一步
- 使用空数组作为 taskDataList
- 跳过必填字段校验
DevOps Pipeline Management Skill
概述
此技能是DevOps质效平台的流水线管理专家,通过OpenAPI接口实现流水线的全生命周期管理。
核心能力:
- - 工作空间管理:查询工作空间列表,支持按名称、组织、产品线筛选
- 流水线管理:创建、查询、更新、删除流水线,支持基于模板快速创建
- 执行管理:执行流水线(支持交互式/非交互式模式)、取消执行、查询执行记录和详情
- 模板管理:查询流水线模板列表,支持按名称、类型、语言筛选,用于快速创建流水线
技术栈:Python 3.8+、Requests、RESTful API
环境准备
1. 系统要求
- - Python 3.8+
- 网络可访问 DevOps 平台 API
2. 依赖安装
bash
pip install requests
或使用 requirements.txt:
bash
pip install -r requirements.txt
3. 获取 API 凭证
联系平台管理员获取以下凭证:
环境变量配置
环境变量说明
| 变量名 | 必填 | 说明 |
|---|
| DEVOPSDOMAINACCOUNT | 是 | 域账号,用于权限校验和审计 |
| DEVOPSBFFURL |
是 | BFF 服务地址 |
| INTERACTIVE_MODE | 否 | 交互模式开关(默认:true)。true 时执行流水线会询问是否交互式选择分支/标签/版本 |
必填环境变量
bash
域账号(必填)
export DEVOPS
DOMAINACCOUNT=your
domainaccount
BFF 服务地址(必填)
export DEVOPS
BFFURL=https://one-dev.iflytek.com/devops
可选环境变量
bash
交互模式开关(默认:true)
true: 执行流水线时询问是否交互式选择分支/标签/版本
false: 自动使用最近执行记录填充,不询问
export INTERACTIVE_MODE=true
持久化配置
将环境变量添加到 shell 配置文件(如 ~/.zshrc 或 ~/.bashrc):
bash
DevOps Pipeline Skill 配置
export DEVOPS
DOMAINACCOUNT=your
domainaccount
export DEVOPS
BFFURL=https://one-dev.iflytek.com/devops
export INTERACTIVE_MODE=true # 启用交互式选择功能
然后执行:
bash
source ~/.zshrc # 或 source ~/.bashrc
安装
方式一:直接使用
bash
cd devops-skills/pipeline-management
python -m scripts/main --help
方式二:添加到 PATH(可选)
bash
添加软链接(可选:使用 devops-pipeline 作为命令名)
sudo ln -s $(pwd)/scripts/main.py /usr/local/bin/devops