更新时间:2025-12-25 GMT+08:00

新建应用 (推荐)

功能介绍

新建应用。

调用方法

请参见如何调用API。

URI

POST /v1/applications

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

是

String

参数解释:

消息体的类型(格式)。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

X-Auth-Token

是

String

参数解释:

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

约束限制:

不涉及。

取值范围:

字符串,长度不超过20000个字符。

默认取值:

不涉及。

表2 请求Body参数

参数

是否必选

参数类型

描述

project_id

是

String

参数解释:

项目id,获取方式请参见获取项目id。

约束限制:

不涉及。

取值范围:

只能由英文字母、数字组成,且长度为32个字符。

默认取值:

不涉及。

name

是

String

参数解释:

应用名称。

约束限制:

不涉及。

取值范围:

由中文字符、英文字母、数字及“_”、“-”组成,且长度为[3-128]个字符。

默认取值:

不涉及。

description

否

String

参数解释:

应用描述信息。

约束限制:

不涉及。

取值范围:

最大长度为1024个字符。

默认取值:

不涉及。

group_id

否

String

参数解释:

应用的分组id,传入no_grouped为未分组的应用。

约束限制:

不涉及。

取值范围:

只能由英文字母、数字组成,且长度为32个字符 或者 no_grouped。

默认取值:

不涉及。

is_draft

是

Boolean

参数解释:

是否为草稿。

约束限制:

不涉及。

取值范围:

  • true: 草稿应用。

  • false: 非草稿应用。

默认取值:

不涉及。

create_type

是

String

参数解释:

创建类型。

约束限制:

不涉及。

取值范围:

  • template: 模板创建。

默认取值:

不涉及。

slave_cluster_id

否

String

参数解释:

slave集群id,默认为空,为空时使用默认资源池。

约束限制:

不涉及。

取值范围:

只能由英文字母、数字组成,且长度为32个字符。

默认取值:

不涉及。

trigger

否

TaskTriggerVO object

参数解释:

部署应用执行触发设置。

arrange_infos

否

Array of TaskV2RequestBody objects

参数解释:

部署任务列表信息。

约束限制:

不涉及。

表3 TaskTriggerVO

参数

是否必选

参数类型

描述

trigger_source

否

String

参数解释:

部署任务允许执行的场景。

约束限制:

不涉及。

取值范围:

  • 0: 所有执行请求均可执行。

  • 1: 只允许流水线触发执行。

默认取值:

不涉及。

artifact_source_system

否

String

参数解释:

当任务只允许流水线触发执行时,流水线传递的来源信息。

约束限制:

不涉及。

取值范围:

  • Artifact: 来源信息为CodeArtsArtifact。

默认取值:

不涉及。

artifact_type

否

String

参数解释:

当任务只允许流水线触发执行时,对应流水线源的制品仓库类型。

约束限制:

不涉及。

取值范围:

  • generic: 软件发布库。

  • docker: Docker库。

默认取值:

不涉及。

表4 TaskV2RequestBody

参数

是否必选

参数类型

描述

template_id

否

String

参数解释:

部署模板id。

约束限制:

不涉及。

取值范围:

只能由英文字母、数字组成,且长度为32个字符。

默认取值:

不涉及。

operation_list

否

Array of DeployV2OperationsDO objects

参数解释:

部署编排列表信息。

约束限制:

不涉及。

表5 DeployV2OperationsDO

参数

是否必选

参数类型

描述

id

否

String

参数解释:

步骤id。

约束限制:

不涉及。

取值范围:

只能由英文字母、数字组成,且长度为32个字符。

默认取值:

不涉及。

name

否

String

参数解释:

步骤名称。

约束限制:

不涉及。

取值范围:

汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1~128个字符。

默认取值:

不涉及。

description

否

String

参数解释:

步骤描述。

约束限制:

不涉及。

取值范围:

长度最长为1024个字符。

默认取值:

不涉及。

code

否

String

参数解释:

步骤下载地址。

约束限制:

不涉及。

取值范围:

长度最长为102400个字符。

默认取值:

不涉及。

params

否

String

参数解释:

步骤详细定义。

约束限制:

不涉及。

取值范围:

长度最长为204800个字符。

默认取值:

不涉及。

entrance

否

String

参数解释:

步骤入口函数。

约束限制:

不涉及。

取值范围:

长度最长为1024个字符。

默认取值:

不涉及。

version

否

String

参数解释:

步骤版本。

约束限制:

不涉及。

取值范围:

长度最长为1024个字符。

默认取值:

不涉及。

module_id

否

String

参数解释:

步骤模块id。

约束限制:

不涉及。

取值范围:

长度最长为1024个字符。

默认取值:

不涉及。

响应参数

状态码:200

表6 响应Body参数

参数

参数类型

描述

status

String

参数解释:

请求成功失败状态。

取值范围:

  • success: 成功。

  • error: 失败。

result

AppBaseResponse object

参数解释:

应用基本信息响应体。

表7 AppBaseResponse

参数

参数类型

描述

id

String

参数解释:

应用id。

取值范围:

由英文字母、数字组成,且长度为32个字符。

name

String

参数解释:

应用名称。

取值范围:

由中文字符、英文字母、数字及“_”、“-”组成,且长度为[3-128]个字符。

region

String

参数解释:

应用所属区域。

取值范围:

不涉及。

arrange_infos

Array of TaskBaseBody objects

参数解释:

部署任务列表。

表8 TaskBaseBody

参数

参数类型

描述

id

String

参数解释:

部署任务id。

取值范围:

由英文字母、数字组成,且长度为32个字符。

请求示例

创建一个应用

https://{endpoint}/v1/applications

{
  "name" : "testApp",
  "project_id" : "55837d272adf4eee90319800e2da6961",
  "description" : "使用模板创建应用",
  "trigger" : {
    "trigger_source" : 0,
    "artifact_source_system" : "",
    "artifact_type" : ""
  },
  "slave_cluster_id" : "",
  "create_type" : "template",
  "is_draft" : true,
  "arrange_infos" : [ {
    "template_id" : "43b36b4678f743568e1ffebfd7f4ce76",
    "operation_list" : [ {
      "name" : "Kubernetes Manifest部署(CCE集群)",
      "description" : "通过manifest文件定义Kubernetes对象,实现对CCE集群的部署。",
      "code" : "https://example.com",
      "params" : "[{\"name\":\"datasource\",\"label\":\"Manifest文件来源\",\"displaySettings\":{\"DevCloud.ControlType\":\"Radio\",\"DevCloud.ControlType.Style\":\"ButtonGroup\",\"DevCloud.ControlType.Radio\":[{\"displayName\":\"制品仓库\",\"value\":\"1\"},{\"displayName\":\"代码仓库\",\"value\":\"2\"},{\"displayName\":\"obs\",\"value\":\"4\"}],\"DevCloud.ControlType.Default\":{\"displayName\":\"制品仓库\",\"value\":\"1\",\"icon\":\"img/release.png\"}},\"defaultDisplay\":[{\"displayName\":\"制品仓库\",\"value\":\"1\"}],\"validation\":{\"pattern\":null,\"patternDescription\":null,\"maxLength\":null,\"dataType\":null,\"isRequired\":true,\"isNotParameter\":true}},{\"name\":\"deployTenant\",\"label\":\"部署租户\",\"displaySettings\":{\"DevCloud.ControlType\":\"Select\",\"DevCloud.ControlType.Style\":null,\"DevCloud.ControlType.Select\":[{\"displayName\":\"当前租户\",\"value\":\"local\"},{\"displayName\":\"其他租户\",\"value\":\"other\"}],\"DevCloud.ControlType.Default\":{\"displayName\":\"当前租户\",\"value\":\"local\"}},\"defaultDisplay\":[{\"displayName\":\"当前租户\",\"value\":\"local\"}],\"validation\":{\"pattern\":null,\"patternDescription\":null,\"maxLength\":null,\"dataType\":null,\"isRequired\":true,\"isNotParameter\":true}},{\"name\":\"use_iam_checkbox\",\"displaySettings\":{\"DevCloud.ControlType\":\"Checkbox\",\"DevCloud.ControlType.Style\":null,\"DevCloud.ControlType.Checkbox\":[{\"displayName\":\"IAM授权\",\"value\":\"0\"}]},\"defaultDisplay\":[{\"displayName\":\"IAM授权\",\"value\":\"0\"}],\"visibleRule\":\"deployTenant=local\",\"validation\":{\"pattern\":null,\"patternDescription\":null,\"maxLength\":null,\"dataType\":null,\"isRequired\":false,\"isNotParameter\":true}},{\"name\":\"javaProbeCheckBox\",\"displaySettings\":{\"DevCloud.ControlType\":\"Checkbox\",\"DevCloud.ControlType.Style\":null,\"DevCloud.ControlType.Checkbox\":[{\"displayName\":\"配置JAVA探针\",\"value\":\"0\"}]},\"defaultDisplay\":[{\"displayName\":\"配置JAVA探针\",\"value\":\"0\"}],\"visibleRule\":\"not 1=1\",\"validation\":{\"pattern\":null,\"patternDescription\":null,\"maxLength\":null,\"dataType\":null,\"isRequired\":false,\"isNotParameter\":false}},{\"name\":\"controller_enabled_ignore_errors\",\"displaySettings\":{\"DevCloud.ControlType\":\"Checkbox\",\"DevCloud.ControlType.Style\":null,\"DevCloud.ControlType.Checkbox\":[{\"displayName\":\"失败后继续运行\",\"value\":\"0\"}]},\"defaultDisplay\":[{\"displayName\":\"失败后继续运行\",\"value\":\"0\"}],\"validation\":{\"pattern\":null,\"patternDescription\":null,\"maxLength\":null,\"dataType\":null,\"isRequired\":true,\"isNotParameter\":false}},{\"name\":\"controller_enabled_overtime\",\"label\":\"超时时间\",\"displaySettings\":{\"DevCloud.ControlType\":\"SingleLineText\",\"DevCloud.ControlType.Style\":null},\"defaultValue\":\"10\",\"validation\":{\"pattern\":\"^([1-9]|[1-2][0-9]|30)$\",\"patternDescription\":\"时间单位为分钟,请输入1-30(包含)的整数\",\"maxLength\":null,\"dataType\":null,\"isRequired\":true,\"isNotParameter\":false}},{\"name\":\"controller_enabled\",\"displaySettings\":{\"DevCloud.ControlType\":\"Hidden\",\"DevCloud.ControlType.Style\":null},\"defaultDisplay\":[{\"displayName\":\"启用\",\"value\":\"1\"}]},{\"name\":\"visibleRule\",\"displaySettings\":{\"DevCloud.ControlType\":\"Hidden\",\"DevCloud.ControlType.Style\":null},\"defaultValue\":\"{\\\"use_iam_checkbox\\\":{\\\"value\\\":true,\\\"condition\\\":\\\"deployTenant=local\\\"},\\\"controller_enabled_overtime\\\":{\\\"value\\\":true},\\\"javaProbeCheckBox\\\":{\\\"value\\\":true,\\\"condition\\\":\\\"not 1=1\\\"},\\\"datasource\\\":{\\\"value\\\":true},\\\"deployTenant\\\":{\\\"value\\\":true},\\\"controller_enabled_ignore_errors\\\":{\\\"value\\\":true}}\"}]",
      "entrance" : "main.yml",
      "version" : "2.3.69",
      "module_id" : "devcloud2018.k8s-cce-manifest-deployment.k8sdeploy-manifest"
    } ]
  } ]
}

响应示例

状态码:200

OK 请求响应成功

{
  "result" : {
    "id" : "e700f15965694253940502911220d76b",
    "name" : "testApp",
    "region" : "region-a",
    "is_disable" : false,
    "arrange_infos" : [ {
      "id" : "3ea35372b6db4d58b187e9a7ee9dc349"
    } ]
  },
  "status" : "success"
}

状态码

状态码

描述

200

OK 请求响应成功

错误码

请参见错误码。