更新时间:2026-01-09 GMT+08:00

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

功能介绍

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

调用方法

请参见如何调用API

URI

POST /v3/templates/task

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

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

表2 请求Body参数

参数

是否必选

参数类型

描述

flow

Map<String,Map<String,String>>

参数解释

编排flow详情,描述流水线内各阶段任务的串并行关系。map类型数据,key为阶段名字,默认第一阶段initial,最后阶段为final,其余名字以'state_数字'标识。value为该阶段内任务

(以'Task_数字'标识)以及后续阶段的标识。本字段为描述流水线基础编排数据之一,建议可通过流水线真实界面基于模板创建接口中获取。

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

states

Map<String,TemplateState>

参数解释

编排State详情,map类型数据。本字段为描述流水线基础编排数据之一,建议可通过流水线真实界面基于模板创建接口中获取

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

workflow

Workflow object

参数解释

参数详情

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

表3 TemplateState

参数

是否必选

参数类型

描述

type

String

任务类型

name

String

任务名字

module_or_template_id

String

模板任务ID

module_or_template_name

String

模板任务名字

display_name

String

任务在流水线页面展示名字

dsl_method

String

流水线可挂载任务类型

parameters

Map<String,Object>

任务参数,map类型数据

is_manual_execution

Boolean

是否手动执行

job_parameter_validate

Boolean

任务参数是否校验

is_show_codehub_url

Boolean

是否显示代码仓URL

is_execute

Boolean

是否执行

job_id

String

执行任务ID

job_name

String

执行任务名字

project_id

String

任务所属项目ID

execution_mode

String

控制阶段下任务的串并行(type是task的execution_mode值为null,type是stage的execution_mode可选parallel(并行)或者serial(串行))

表4 Workflow

参数

是否必选

参数类型

描述

parameter

Array of PipelineParam objects

参数解释

任务类型,list类型数据。

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

source

Array of Source objects

参数解释

源码仓,list类型数据。

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

name

String

参数解释

流水线名字

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

project_id

String

参数解释

项目ID

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

project_name

String

参数解释

项目名字

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

表5 PipelineParam

参数

是否必选

参数类型

描述

name

String

参数解释

流水线参数名字

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

value

String

参数解释

流水线参数值

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

description

String

参数解释

流水线参数描述

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

param_type

String

参数解释

流水线参数类型

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

is_static

Boolean

参数解释

是否静态参数。

约束限制

不涉及。

取值范围

  • true:是静态参数。

  • false:不是静态参数。

默认取值

不涉及。

is_default

Boolean

参数解释

是否默认参数。

约束限制

不涉及。

取值范围

  • true:是默认参数。

  • false:不是默认参数。

默认取值

不涉及。

表6 Source

参数

是否必选

参数类型

描述

codehub_name

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

是否废弃

响应参数

状态码:200

表7 响应Body参数

参数

参数类型

描述

task_id

String

参数解释

实例ID。

取值范围

32位字符,由数字和字母组成。

状态码:400

表8 响应Body参数

参数

参数类型

描述

error_msg

String

参数解释

错误信息。

取值范围

不涉及。

error_code

String

参数解释

错误码。

取值范围

不涉及。

请求示例

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

{
  "flow" : {
    "initial" : {
      "state_3" : "always"
    },
    "state_3" : {
      "state_4" : "always"
    },
    "state_4" : {
      "state_5" : "always",
      "Task_1" : "always",
      "Task_2" : "always"
    },
    "state_5" : {
      "final" : "always"
    }
  },
  "states" : {
    "initial" : {
      "type" : "stage",
      "name" : "initial",
      "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" : "git@example.com: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" : "git@example.com: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,
      "isStatic" : true,
      "isDefault" : true,
      "constraints" : null
    }, {
      "name" : "releaseVersion",
      "value" : "1.0.0",
      "description" : "this is a growth type param",
      "paramtype" : "growthparam",
      "display_name" : null,
      "isStatic" : false,
      "isDefault" : true,
      "constraints" : null
    } ],
    "source" : [ {
      "scmType" : "codehub",
      "codeHubName" : "fdfdfdf",
      "hookFlag" : false,
      "branches" : [ ],
      "defaultBranch" : "master",
      "branch" : "",
      "codeHubId" : "5224040",
      "gitUrl" : "git@example.com:CloudPipelineTest-Copy00001/fdfdfdf.git",
      "webUrl" : "https://example.com/codehub/project/bc97c4d99c7d4f98bb6cd104a77fddd6/codehub/140000127/home",
      "branchList" : [ "master" ]
    } ],
    "name" : "pipeline-123123",
    "description" : "",
    "project_id" : "bc97c4d99c7d4f98bb6cd104a77fddd6",
    "project_name" : "CloudPipelineTest-Copy"
  },
  "changeInfo" : null
}

响应示例

状态码:200

OK

{
  "task_id" : "eafaff0bf9094d3d8456d13dddf67b40"
}

状态码

状态码

描述

200

OK

400

Bad request

401

Unauthorized

403

Forbidden

404

Not Found

错误码

请参见错误码