• 沒有找到結果。

基于模板快速创建流水线及流水线内任务

4.2 流水线管理

4.2.1 基于模板快速创建流水线及流水线内任务

功能介绍

基于模板快速创建流水线及流水线内任务

调试

您可以在API Explorer中调试该接口。

URI

POST /v3/templates/task

请求参数

4-19 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 否 String 用户Token。

通过调用IAM服务获取用户 Token接口获取(响应消息头中 X-Subject-Token的值)。

X-Language 否 String 语言类型 中文:zh-cn 英文:en-us,默认en-us

4-20 请求 Body 参数

参数 是否必选 参数类型 描述

flow 是 Map<String,M ap<String,Stri ng>>

编排flow详情,描述流水线内各 阶段任务的串并行关系。map类 型数据,key为阶段名字,默认 第一阶段initial,最后阶段为 final,其余名字以'state_数 字'标识。value为该阶段内任务 (以'Task_数字'标识)以及后续阶 段的标识。本字段为描述流水线 基础编排数据之一,建议可通过 流水线真实界面基于模板创建接 口中获取

参数 是否必选 参数类型 描述 states 是 Map<String,T

emplateState

workflow 是 Workflow

object 参数详情

4-21 TemplateState

参数 是否必选 参数类型 描述

type 是 String 任务类型

name 是 String 任务名字

module_or_te

mplate_id 是 String 模板任务ID module_or_te

mplate_name 是 String 模板任务名字

display_name 是 String 任务在流水线页面展示名字 dsl_method 是 String 流水线可挂载任务类型 parameters 是 Map<String,O

bject> 任务参数,map类型数据 is_manual_ex

ecution 是 Boolean 是否手动执行

job_paramete

r_validate 是 Boolean 任务参数是否校验 is_show_code

hub_url 是 Boolean 是否显示代码仓URL is_execute 是 Boolean 是否执行

job_id 是 String 执行任务ID

job_name 是 String 执行任务名字

project_id 是 String 任务所属项目ID execution_mo

de 是 String 控制阶段下任务的串并行(type

是task的execution_mode值为 null,type是stage的

execution_mode可选parallel

(并行)或者serial(串行))

4-22 Workflow

参数 是否必选 参数类型 描述

parameter 是 Array of PipelinePara m objects

任务类型,list类型数据

source 是 Array of Source objects

源码仓,list类型数据

name 是 String 流水线名字

project_id 是 String 项目ID project_name 是 String 项目名字

4-23 PipelineParam

参数 是否必选 参数类型 描述

name 是 String 流水线参数名字

value 是 String 流水线参数值

description 是 String 流水线参数描述 param_type 是 String 流水线参数类型 is_static 是 Boolean 是否静态参数 is_default 是 Boolean 是否默认参数

4-24 Source

参数 是否必选 参数类型 描述

codehub_nam

e 是 String 源码仓名字

branches 是 Array of

strings 触发分支

scm_type 是 String 源码仓来源

hook_flag 是 Boolean 是否开启触发执行流水线功能

branch 是 String 触发分支

git_url 是 String 源码仓ssh地址

codehub_id 是 String 源码仓ID

web_url 是 String 源码仓首页url

参数 是否必选 参数类型 描述 branch_list 是 Array of

strings 分支列表

init_id 是 String 初始化ID

disable 是 Boolean 是否废弃

响应参数

状态码: 201

4-25 响应 Body 参数

参数 参数类型 描述

task_id String 实例ID

状态码: 400

4-26 响应 Body 参数

参数 参数类型 描述

error_msg String 错误信息 error_code String 错误码

请求示例

POST https://{endpoint}/v3/templates/task { "flow" : {

"module_or_template_id" : null,

"module_or_template_name" : null, "display_name" : "Initial",

"dsl_method" : "initial", "parameters" : { "display" : "hidden"

},

"params" : null,

"is_manual_mxecution" : false, "execution_mode" : "parallel"

},

"state_3" : { "type" : "stage", "name" : "state_3",

"module_or_template_id" : null, "module_or_template_name" : null, "display_name" : "Source", "dsl_method" : "source", "parameters" : null, "params" : null,

"is_manual_execution" : false, "execution_mode" : "parallel"

},

"Task_1" : { "type" : "task", "name" : "Task_1",

"module_or_template_id" : "00012", "module_or_template_name" : "Maven", "display_name" : "Build_Task",

"dsl_method" : "buildJob", "parameters" : {

"__repository__" : { "repo_name" : "fdfdfdf",

"url" : "[email protected]:CloudPipelineTest-Copy00001/fdfdfdf.git"

} },

"params" : null,

"is_manual_execution" : false, "execution_mode" : null, "job_parameter_palidate" : true, "is_show_code_hub_url" : false, "is_execute" : true,

"job_id" : "00012", "job_name" : "Maven",

"project_id" : "4719b59466624abfbae0f83c3ce3a0dc"

},

"Task_2" : { "type" : "task", "name" : "Task_2",

"module_or_template_id" : "d7dffaefb6d94c63a09cf141668356c7", "module_or_template_name" : "codecheck_template",

"display_name" : "Code_Check_Task", "dsl_method" : "codeCheck", "parameters" : {

"language" : { "disable" : null, "name" : "Java", "display_name" : "Java",

"id" : "782aade71ffb4ab780303555eb2e4825", "language" : "java"

},

"codeBranch" : "master", "__repository__" : { "repo_name" : "fdfdfdf",

"url" : "[email protected]:CloudPipelineTest-Copy00001/fdfdfdf.git"

} },

"params" : null,

"is_manual_execution" : false, "execution_mode" : null,

"job_parameter_palidate" : true, "is_show_code_hub_url" : false, "is_execute" : true,

"job_id" : "d7dffaefb6d94c63a09cf141668356c7", "job_name" : "codecheck_template",

"project_id" : "4719b59466624abfbae0f83c3ce3a0dc"

},

"state_4" : { "type" : "stage", "name" : "state_4",

"module_or_template_id" : null, "module_or_template_name" : null, "display_name" : "Build_and_Check", "dsl_method" : "build",

"parameters" : null, "params" : null,

"is_manual_mxecution" : false, "execution_mode" : "parallel"

},

"state_5" : { "type" : "stage", "name" : "state_5",

"module_or_template_id" : null, "module_or_template_name" : null, "display_name" : "Release", "dsl_method" : "release", "parameters" : null, "params" : null,

"is_manual_mxecution" : false, "execution_mode" : "parallel"

}, "final" : { "type" : "stage", "name" : "final",

"module_or_template_id" : null, "module_or_template_name" : null, "display_name" : "Final",

"dsl_method" : "final", "parameters" : null, "params" : null,

"is_manual_mxecution" : false, "execution_mode" : "parallel"

}

}, "workflow" : { "parameter" : [ {

"name" : "serviceName",

"value" : "pipeline-20201229165622", "description" : "this is a text type param", "paramtype" : "normalparam",

"display_name" : null, "paramtype" : "growthparam",

"display_name" : null,

"defaultBranch" : "master", "branch" : "",

"codeHubId" : "5224040",

"gitUrl" : "[email protected]:CloudPipelineTest-Copy00001/fdfdfdf.git", "webUrl" : "https://hd.devcloud.huaweicloud.com/codehub/project/

bc97c4d99c7d4f98bb6cd104a77fddd6/codehub/140000127/home", "branchList" : [ "master" ]

} ],

"name" : "pipeline-123123", "description" : "",

"project_id" : "bc97c4d99c7d4f98bb6cd104a77fddd6", "project_name" : "CloudPipelineTest-Copy"

}, "changeInfo" : null }

响应示例

状态码: 201 OK

{ "task_id" : "eafaff0bf9094d3d8456d13dddf67b40"

}

状态码

状态码 描述

201 OK

400 Bad request 401 Unauthorized 403 Forbidden 404 Not Found

错误码

请参见错误码。

相關文件