GetChangeOrder - 读取部署单使用的物料和工单状态

通过 OpenAPI 创建部署单。

适用版本

企业标准版

服务接入点与授权信息

请求语法

GET https://{domain}/oapi/v1/appstack/organizations/{organizationId}/apps/{appName}/changeOrders/{changeOrderSn}

请求头

参数

类型

是否必填

描述

示例值

x-yunxiao-token

string

个人访问令牌。

pt-0fh3****0fbG_35af****0484

请求参数

参数

类型

位置

是否必填

描述

示例值

appName

string

path

应用名。

my-web-service

changeOrderSn

string

path

部署单编号。

66c0c9fffeb86b450c199fcd

organizationId

string

path

组织 ID。

ec766e63aee3437d9a51f334d6exe671

请求示例

curl -X 'GET' \
  'https://test.rdc.aliyuncs.com/oapi/v1/appstack/organizations/ec766e63aee3437d9a51f334d6exe671/apps/my-web-service/changeOrders/66c0c9fffeb86b450c199fcd' \
  -H 'Content-Type: application/json' \
  -H 'x-yunxiao-token: pt-0fh3****0fbG_35af****0484'

返回参数

参数

类型

描述

示例值

-

object

creator

string

创建人。

10df6011-2837-4fdb-ad92-356a679a60ca

description

string

描述。

正常发布日常需求

endedAt

string

部署单结束时间。

2024-10-08T09:11:38Z

gmtCreate

string

部署单最后修改时间。

2024-10-08T09:11:38Z

jobs

array

环境部署单列表。

-

object

部署单任务列表。

appOrchestration

object

应用内置编排。

app

object

应用。

creatorId

string

应用创建者。

10df6011-2837-4fdb-ad92-356a679a60ca

description

string

应用描述。

for java

favoured

boolean

是否收藏。

false

gmtCreate

string

应用创建时间。

2024-09-01 00:00:00

labelList

array

应用标签列表。

-

object

AppStack 标签。

displayName

string

标签的展示名,用于描述性的场景,不参与标签匹配。

测试标签键

displayValue

string

标签的展示值,用于描述性的场景,不参与标签匹配。

测试标签值

extraMap

object

标签扩展属性 map,可在定义标签时用于存储自定义的扩展属性字段。

map[]

name

string

标签名,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字。

demo-label

namespace

string

标签命名空间,决定了标签的作用域。

default

value

string

标签值,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字。

demo-label-value

name

string

应用名称。

my-web-app

type

string

类型,可能的值:[APP SYSTEM]。

APP

componentList

array

组件列表。

-

object

编排组件模型。

content

string

组件内容,以 go 标准库 text/template 的形式呈现。

—\napiVersion: v1\nkind: Service\nmetadata:\n name: prod-sidecar-test-{{ .AppStack.envName }}\n # 命名空间配置:\n # 建议每个环境使用不同的 Kubernetes 集群命名空间,以便达到环境隔离效果\n # 部署时云效会将占位符{{ .Values.namespace }}替换成右侧设置的实际值\n namespace: {{ .Values.namespace }}\nspec:\n selector:\n run: prod-sidecar-test-{{ .AppStack.envName }}\n ports:\n - protocol: TCP\n port: 80\n targetPort: 8080

description

string

组件描述。

示例描述

kind

string

组件类型(在 kubernetes 场景下,需要沿用 kubernetes 对象的 kind)。

Service

name

string

组件名。

demo-service

priority

integer

组件优先级,从 1 开始;环境部署时,会按优先级数值从低到高的顺序下发部署。

1

type

string

适用的部署架构类型(如 Kubernetes、主机等),可能的值:[KUBERNETES HOST]。

KUBERNETES

creatorId

string

创建人。

app-builtin-creator-id

description

string

描述。

app-builtin-orchestration-description

format

string

格式。

MANIFEST

gmtCreate

string

创建时间。

2024-09-01 00:00:00

gmtModified

string

修改时间。

2024-09-01 00:00:00

groupNameMap

object

labelList

array

标签列表。

-

object

AppStack 标签。

displayName

string

标签的展示名,用于描述性的场景,不参与标签匹配。

测试标签键

displayValue

string

标签的展示值,用于描述性的场景,不参与标签匹配。

测试标签值

extraMap

object

标签扩展属性 map,可在定义标签时用于存储自定义的扩展属性字段。

map[]

name

string

标签名,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字。

demo-label

namespace

string

标签命名空间,决定了标签的作用域。

default

value

string

标签值,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字。

demo-label-value

labelPolicy

string

标签策略。

NONE

modifierId

string

修改人。

app-builtin-modifier-id

name

string

名称。

app-builtin-orchestration-name

placeholderList

array

占位符列表。

-

object

占位符模型。

description

string

占位符描述。

内存限制

name

string

占位符名。

memoryLimit

overridable

boolean

占位符是否部署时可修改。

true

predefined

boolean

是否预置占位符。

false

rsType

string

适用的部署架构类型(如 Kubernetes、主机等),可能的值:[KUBERNETES HOST]。

KUBERNETES

rule

string

占位符取值的可选校验规则。

type

string

占位符类型,可能的值:[string number boolean float object]。

string

value

string

占位符取值。

1024Mi

valueSource

string

占位符取值的数据源类型(如常量、变量等),可能的值:[CONSTANT VARIABLE NULL]。

CONSTANT

revision

object

编排版本信息。

author

string

编排版本提交人。

10df6011-2837-4fdb-ad92-356a679a60ca

commitTime

string

编排版本提交时间。

2024-09-01 00:00:00

message

string

编排版本信息 commit 信息。

3t7cb880d20614038740e00e819dcdb13a37ce31

sha

string

编排版本信息 commit sha 值。

c229f22024535638af41838daa43af1e6d468116

sn

string

唯一序列号。

app-builtin-orchestration-1

storageType

string

存储类型。

BUILTIN

suitableResourceTypes

array[string]

使用资源类型。

syncSourceTemplate

object

编排同步源模板。

appTemplateName

string

应用模板名称。

app-template-name

orchestrationSha

string

应用模板版本 commit sha 值。

app-template-version-sha

type

string

类型。

AppBuiltInOrchestration

endedAt

string

部署单结束时间。

2024-10-08T09:11:38Z

envName

string

环境名称。

test

sn

string

环境部署单编号。

40bfa492838047ce91870f52f6017ca6

stages

array

阶段列表。

-

object

阶段列表。

endedAt

string

部署单阶段结束时间。

2024-10-08T09:11:38Z

sn

string

部署单阶段唯一标识。

37bfa492838047ce91870f52f6017cb8

startedAt

string

部署单阶段开始时间。

2024-10-08T09:11:38Z

state

string

部署单阶段状态,可能的值:[INIT PREPARING RUNNING STOPPING SUSPENDING SUSPENDED SUCCESS FAILED CANCELED]。

状态类型:RUNNING-运行中,SUSPENDED-暂停中,CANCELED-已取消,FAILED-已失败,SUCCESS-成功

tasks

array

部署单节点任务列表。

-

object

部署单节点任务列表。

behavior

string

任务行为:Upsert-会对该对象进行更新,Delete-会对该对象进行删除。

Upsert

endedAt

string

节点任务结束时间。

2024-10-08T09:11:38Z

errorMessage

string

错误信息。

error-message

sn

string

节点任务唯一标识。

27bfa492838047ce91870f52f6017dj3

spec

string

部署任务编排 yaml。

—\napiVersion: “v1”\nkind: “Service”\nmetadata:\n name: “app-test”\n namespace: “ns-aaa”\n labels:\n devops.aliyun.com/app-name: “app-test”\n devops.aliyun.com/version: “20241202120555-308”\n devops.aliyun.com/org-id: “aaa-bbb-ccc”\n devops.aliyun.com/env-name: “test”\nspec:\n selector:\n run: “app-test”\n ports:\n - name: “http-8080”\n protocol: “TCP”\n port: 8080\n targetPort: 8080

startedAt

string

节点任务开始时间。

2024-10-08T09:11:38Z

state

string

节点任务状态。

状态类型:RUNNING-运行中,SUSPENDED-暂停中,CANCELED-已取消,FAILED-已失败,SUCCESS-成功

startedAt

string

部署单开始时间。

2024-10-08T09:11:38Z

state

string

部署单状态,可能的值:[INIT PREPARING RUNNING STOPPING SUSPENDING SUSPENDED SUCCESS FAILED CANCELED]。

状态类型:RUNNING-运行中,SUSPENDED-暂停中,CANCELED-已取消,FAILED-已失败,SUCCESS-成功

type

string

部署单类型。

操作类型:Deploy-部署,Scale-扩缩,Rollback-回滚,Destroy-销毁,Revert-回退

variableGroups

array

变量组。

-

object

变量组。

name

string

变量组名称。

test

revisionSha

string

变量组版本。

my-revision-sha

type

string

变量组类型,可能的值:[GLOBAL TEMPLATE APP]。

类型:GLOBAL-全局,TEMPLATE-模板,APP-应用

name

string

部署单名称。

20241008171130-部署

sn

string

部署单唯一标识。

bc62b3e953714aa8be431f47b9c9b72a

startedAt

string

部署单开始时间。

2024-10-08T09:11:38Z

state

string

部署单状态,可能的值:[INIT PREPARING RUNNING SUSPENDED CANCELED SUCCESS FAILED]。

操作类型:RUNNING-运行中,SUSPENDED-暂停中,CANCELED-已取消,FAILED-已失败,SUCCESS-成功

type

string

部署单类型,可能的值:[Deploy Scale Rollback Destroy]。

操作类型:Deploy-部署,Scale-扩缩,Rollback-回滚,Destroy-销毁

version

string

使用版本。

20241008171130-762

返回示例

{
    "creator": "10df6011-2837-4fdb-ad92-356a679a60ca",
    "description": "正常发布日常需求",
    "endedAt": "2024-10-08T09:11:38Z",
    "gmtCreate": "2024-10-08T09:11:38Z",
    "jobs": [
        {
            "appOrchestration": {
                "app": {
                    "creatorId": "10df6011-2837-4fdb-ad92-356a679a60ca",
                    "description": "for java",
                    "favoured": false,
                    "gmtCreate": "2024-09-01 00:00:00",
                    "labelList": [
                        {
                            "displayName": "测试标签键",
                            "displayValue": "测试标签值",
                            "extraMap": {
                            },
                            "name": "demo-label",
                            "namespace": "default",
                            "value": "demo-label-value"
                        }
                    ],
                    "name": "my-web-app",
                    "type": "APP"
                },
                "componentList": [
                    {
                        "content": "---\napiVersion: v1\nkind: Service\nmetadata:\n  name: prod-sidecar-test-{{ .AppStack.envName }}\n  # 命名空间配置:\n  # 建议每个环境使用不同的Kubernetes集群命名空间,以便达到环境隔离效果\n  # 部署时云效会将占位符{{ .Values.namespace }}替换成右侧设置的实际值\n  namespace: {{ .Values.namespace }}\nspec:\n  selector:\n    run: prod-sidecar-test-{{ .AppStack.envName }}\n  ports:\n    - protocol: TCP\n      port: 80\n      targetPort: 8080",
                        "description": "示例描述",
                        "kind": "Service",
                        "name": "demo-service",
                        "priority": 1,
                        "type": "KUBERNETES"
                    }
                ],
                "creatorId": "app-builtin-creator-id",
                "description": "app-builtin-orchestration-description",
                "format": "MANIFEST",
                "gmtCreate": "2024-09-01 00:00:00",
                "gmtModified": "2024-09-01 00:00:00",
                "groupNameMap": {
                },
                "labelList": [
                    {
                        "displayName": "测试标签键",
                        "displayValue": "测试标签值",
                        "extraMap": {
                        },
                        "name": "demo-label",
                        "namespace": "default",
                        "value": "demo-label-value"
                    }
                ],
                "labelPolicy": "NONE",
                "modifierId": "app-builtin-modifier-id",
                "name": "app-builtin-orchestration-name",
                "placeholderList": [
                    {
                        "description": "内存限制",
                        "name": "memoryLimit",
                        "overridable": true,
                        "predefined": false,
                        "rsType": "KUBERNETES",
                        "rule": "",
                        "type": "string",
                        "value": "1024Mi",
                        "valueSource": "CONSTANT"
                    }
                ],
                "revision": {
                    "author": "10df6011-2837-4fdb-ad92-356a679a60ca",
                    "commitTime": "2024-09-01 00:00:00",
                    "message": "3t7cb880d20614038740e00e819dcdb13a37ce31",
                    "sha": "c229f22024535638af41838daa43af1e6d468116"
                },
                "sn": "app-builtin-orchestration-1",
                "storageType": "BUILTIN",
                "suitableResourceTypes": [
                    
                ],
                "syncSourceTemplate": {
                    "appTemplateName": "app-template-name",
                    "orchestrationSha": "app-template-version-sha"
                },
                "type": "AppBuiltInOrchestration"
            }
            "endedAt": "2024-10-08T09:11:38Z",
            "envName": "test",
            "sn": "40bfa492838047ce91870f52f6017ca6",
            "stages": [
                {
                    "endedAt": "2024-10-08T09:11:38Z",
                    "sn": "37bfa492838047ce91870f52f6017cb8",
                    "startedAt": "2024-10-08T09:11:38Z",
                    "state": "状态类型:RUNNING-运行中,SUSPENDED-暂停中,CANCELED-已取消,FAILED-已失败,SUCCESS-成功",
                    "tasks": [
                        {
                            "behavior": "Upsert",
                            "endedAt": "2024-10-08T09:11:38Z",
                            "errorMessage": "error-message",
                            "sn": "27bfa492838047ce91870f52f6017dj3",
                            "spec": "---
apiVersion: "v1"
kind: "Service"
metadata:
  name: "app-test"
  namespace: "ns-aaa"
  labels:
    devops.aliyun.com/app-name: "app-test"
    devops.aliyun.com/version: "20241202120555-308"
    devops.aliyun.com/org-id: "aaa-bbb-ccc"
    devops.aliyun.com/env-name: "test"
spec:
  selector:
    run: "app-test"
  ports:
  - name: "http-8080"
    protocol: "TCP"
    port: 8080
    targetPort: 8080",
                            "startedAt": "2024-10-08T09:11:38Z",
                            "state": "状态类型:RUNNING-运行中,SUSPENDED-暂停中,CANCELED-已取消,FAILED-已失败,SUCCESS-成功"
                        }
                    ]
                }
            ],
            "startedAt": "2024-10-08T09:11:38Z",
            "state": "状态类型:RUNNING-运行中,SUSPENDED-暂停中,CANCELED-已取消,FAILED-已失败,SUCCESS-成功",
            "type": "操作类型:Deploy-部署,Scale-扩缩,Rollback-回滚,Destroy-销毁,Revert-回退",
            "variableGroups": [
                {
                    "name": "test",
                    "revisionSha": "my-revision-sha",
                    "type": "类型:GLOBAL-全局,TEMPLATE-模板,APP-应用"
                }
            ]
        }
    ],
    "name": "20241008171130-部署",
    "sn": "bc62b3e953714aa8be431f47b9c9b72a",
    "startedAt": "2024-10-08T09:11:38Z",
    "state": "操作类型:RUNNING-运行中,SUSPENDED-暂停中,CANCELED-已取消,FAILED-已失败,SUCCESS-成功",
    "type": "操作类型:Deploy-部署,Scale-扩缩,Rollback-回滚,Destroy-销毁",
    "version": "20241008171130-762"
}

错误码

访问错误码中心查看 API 相关错误码。