通過 OpenAPI 創建部署單。
適用版本 | 企業標準版 |
服務接入點與授權信息
獲取服務接入點,替換 API 請求語法中的 <domain> :服務接入點(domain)。
獲取個人訪問令牌,具體操作,請參見獲取個人訪問令牌。
產品
資源
所需權限
應用交付
部署單
只讀
請求語法
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 相關錯誤碼。