获取流水线状态/获取流水线执行详情
功能介绍
获取流水线状态/获取流水线执行详情,仅返回有执行记录的流水线数据
调用方法
请参见如何调用API。
URI
GET /v5/{project_id}/api/pipelines/{pipeline_id}/pipeline-runs/detail
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
参数解释: CodeArts项目ID。 约束限制: 不涉及 取值范围: 32位字符。 默认取值: 不涉及。 |
pipeline_id |
是 |
String |
参数解释: 流水线ID。 约束限制: 不涉及 取值范围: 32位字符。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
pipeline_run_id |
否 |
String |
参数解释: 流水线运行实例ID。 约束限制: 不涉及。 取值范围: 32位字符,仅由数字和字母组成。 默认取值: 不涉及。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
参数解释: 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
参数解释: 流水线运行实例ID。 取值范围: 32位字符,仅由数字和字母组成。 |
pipeline_id |
String |
参数解释: 流水线ID。 取值范围: 32位字符,仅由数字和字母组成。 |
manifest_version |
String |
参数解释: 流水线版本。 取值范围: 默认3.0。 |
name |
String |
参数解释: 流水线名称。 取值范围: 仅包含中文、大小写英文字母、数字、'-'和'_',且长度为[1,128]个字符。 |
description |
String |
参数解释: 流运行描述。 取值范围: 最长1024字符。 |
is_publish |
Boolean |
参数解释: 是否为变更流水线。 取值范围: true, false。 |
executor_id |
String |
参数解释: 运行人ID。 取值范围: 32位字符,仅由数字和字母组成。 |
executor_name |
String |
参数解释: 运行人名称。 取值范围: 不涉及。 |
status |
String |
参数解释: 流水线运行实例状态。 取值范围: COMPLETED - 已完成, RUNNING - 运行中, FAILED - 失败, CANCELED - 取消, PAUSED - 暂停, SUSPEND - 挂起, IGNORED - 忽略。 |
trigger_type |
String |
参数解释: 触发类型 取值范围: Manual - 手动触发,Scheduler - 定时任务触发,RollBack - 回滚执行,以及WebHook类型:CreateTag - Tag 触发,Note - Gitee仓库评论触发,Issue - Gitee 仓库Issue触发,MR - 合并请求触发,Push - 代码push触发。 |
run_number |
Integer |
参数解释: 流水线运行序号。 取值范围: 大于等于 1。 |
start_time |
Long |
参数解释: 开始时间。 取值范围: 不涉及。 |
end_time |
Long |
参数解释: 结束时间。 取值范围: 不涉及。 |
stages |
Array of StageRun objects |
参数解释: 阶段运行信息列表,包含各个阶段的详细运行信息 约束限制: 不涉及。 |
domain_id |
String |
参数解释: 租户ID。 取值范围: 32位字符,仅由数字和字母组成。 |
project_id |
String |
参数解释: 项目ID。 取值范围: 32位字符,仅由数字和字母组成。 |
region |
String |
参数解释: 局点。 取值范围: 不涉及。 |
component_id |
String |
参数解释: 微服务ID。 取值范围: 不涉及。 |
language |
String |
参数解释: 语言,暂时仅包含中英文。 取值范围: zh-cn, en-us。 |
sources |
Array of RunPipelineSource objects |
参数解释: 行源信息。 取值范围: 不涉及。 |
artifacts |
Array of PackageInfo objects |
参数解释: 流水线运行产物。 取值范围: 不涉及。 |
subject_id |
String |
参数解释: 流水线运行实例ID。 取值范围: 不涉及。 |
group_id |
String |
参数解释: 分组ID。 取值范围: 32位字符。 |
group_name |
String |
参数解释: 分组名称。 取值范围: 不涉及。 |
detail_url |
String |
参数解释: 详情页地址。 取值范围: 不涉及。 |
current_system_time |
Long |
参数解释: 当前系统时间。 取值范围: 不涉及。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
参数解释: 阶段ID。 取值范围: 32位字符。 |
category |
String |
参数解释: 阶段类型。 取值范围: 不涉及。 |
name |
String |
参数解释: 阶段名称。 取值范围: 仅支持输入中文、大小写英文字母、数字、'-'、'_'、','、';'、':'、'.'、'/'、'('、')'、'('、')'及空格,其中空格不可在名称开头或结尾使用,且长度为[1,128]个字符。 |
identifier |
String |
参数解释: 阶段唯一标识。 取值范围: 不涉及。 |
run_always |
Boolean |
参数解释: 是否总是运行。 取值范围: true, false。 |
parallel |
String |
参数解释: 是否并行。 取值范围: 不涉及。 |
is_select |
Boolean |
参数解释: 是否选中。 取值范围: 不涉及。 |
sequence |
Integer |
参数解释: 序列号。 取值范围: 大于等于0。 |
depends_on |
Array of strings |
参数解释: 依赖。 取值范围: 不涉及。 |
condition |
String |
参数解释: 运行条件。 取值范围: 不涉及。 |
status |
String |
参数解释: 状态。 取值范围: INIT - 初始化,QUEUED - 排队,RUNNING - 运行中,CANCELED - 取消,COMPLETED - 已完成,FAILED - 失败,SKIPPED - 跳过,IGNORED - 忽略,PAUSED - 暂停, SUSPEND - 挂起, ASYNC_RUNNING - 异步运行,ASYNC_FAILED - 异步失败,UNSELECTED - 未选择,REDISPATCH - 重新调度。 |
start_time |
Long |
参数解释: 开始时间。 取值范围: 不涉及。 |
end_time |
Long |
参数解释: 结束时间。 取值范围: 不涉及。 |
pre |
Array of StepRun objects |
参数解释: 阶段准入。 取值范围: 不涉及。 |
post |
Array of StepRun objects |
参数解释: 阶段准出。 取值范围: 不涉及。 |
jobs |
Array of JobRun objects |
参数解释: 任务。 取值范围: 不涉及。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
参数解释: 任务ID。 取值范围: 不涉及。 |
category |
String |
参数解释: 任务类型。 取值范围: 不涉及。 |
sequence |
Integer |
参数解释: 序列号。 取值范围: 不涉及。 |
async |
String |
参数解释: 是否异步。 取值范围: true, false。 |
name |
String |
参数解释: 任务名称。 取值范围: 不涉及。 |
identifier |
String |
参数解释: 任务唯一标识。 取值范围: 不涉及。 |
depends_on |
Array of strings |
参数解释: 依赖。 取值范围: 不涉及。 |
condition |
String |
参数解释: 运行条件。 取值范围: 不涉及。 |
resource |
String |
参数解释: 执行资源。 取值范围: 不涉及。 |
is_select |
Boolean |
参数解释: 是否选中。 取值范围: true, false。 |
timeout |
String |
参数解释: 任务超时设置。 取值范围: 不涉及。 |
last_dispatch_id |
String |
参数解释: 任务上次下发ID。 取值范围: 不涉及。 |
status |
String |
参数解释: 状态。 取值范围: INIT - 初始化,QUEUED - 排队,RUNNING - 运行中,CANCELED - 取消,COMPLETED - 已完成,FAILED - 失败,SKIPPED - 跳过,IGNORED - 忽略,PAUSED - 暂停, SUSPEND - 挂起, ASYNC_RUNNING - 异步运行,ASYNC_FAILED - 异步失败,UNSELECTED - 未选择,REDISPATCH - 重新调度。 |
message |
String |
参数解释: 错误信息。 取值范围: 不涉及。 |
start_time |
Long |
参数解释: 开始时间。 取值范围: 不涉及。 |
end_time |
Long |
参数解释: 结束时间。 取值范围: 不涉及。 |
steps |
Array of StepRun objects |
参数解释: 步骤。 取值范围: 不涉及。 |
exec_id |
String |
参数解释: 任务执行ID。 取值范围: 不涉及。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
参数解释: 步骤名称。 取值范围: 不涉及。 |
task |
String |
参数解释: 步骤插件名。 取值范围: 不涉及。 |
business_type |
String |
参数解释: 插件业务类型。 取值范围: Normal - 通用, Build - 构建, Test - 测试, Check - 代码检查, 部署 - Deploy。 |
inputs |
Array of inputs objects |
参数解释: 输入参数。 取值范围: 不涉及。 |
sequence |
Integer |
参数解释: 序列号。 取值范围: 不涉及。 |
official_task_version |
String |
参数解释: 官方插件版本号。 取值范围: 不涉及。 |
identifier |
String |
参数解释: 唯一标识符。 取值范围: 不涉及。 |
multi_step_editable |
Integer |
参数解释: 是否可编辑。 取值范围: true, false。 |
id |
String |
参数解释: 步骤ID。 取值范围: 32位字符。 |
endpoint_ids |
Array of strings |
参数解释: 扩展点ID列表。 取值范围: 不涉及。 |
last_dispatch_id |
String |
参数解释: 上次下发任务ID。 取值范围: 32位字符。 |
status |
String |
参数解释: 状态。 取值范围: RUNNING - 运行中,CANCELED - 取消,COMPLETED - 已完成,FAILED - 失败。 |
message |
String |
参数解释: 错误消息。 取值范围: 不涉及。 |
start_time |
Long |
参数解释: 开始时间。 取值范围: 不涉及。 |
end_time |
Long |
参数解释: 结束时间。 取值范围: 不涉及。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
参数解释: 源类型。 取值范围: 目前支持code - 代码源类型。 |
params |
params object |
参数解释: 代码源相关参数。 取值范围: 不涉及。 |
参数 |
参数类型 |
描述 |
---|---|---|
git_type |
String |
参数解释: 代码仓类型。 取值范围: 可选codehub,gitee,github,gitcode,gitlab。 |
git_url |
String |
参数解释: 代码仓https地址。 取值范围: 不涉及。 |
ssh_git_url |
String |
参数解释: 代码仓ssh地址。 取值范围: 不涉及。 |
web_url |
String |
参数解释: 代码仓页面地址。 取值范围: 不涉及。 |
repo_name |
String |
参数解释: 代码仓名。 取值范围: 不涉及。 |
default_branch |
String |
参数解释: 默认分支。 取值范围: 不涉及。 |
endpoint_id |
String |
参数解释: 扩展点ID。 取值范围: 不涉及。 |
codehub_id |
String |
参数解释: Repo代码仓ID。 取值范围: 不涉及。 |
alias |
String |
参数解释: 代码仓别名。 取值范围: 不涉及。 |
build_params |
build_params object |
参数解释: 构建相关参数。 取值范围: 不涉及。 |
参数 |
参数类型 |
描述 |
---|---|---|
action |
String |
参数解释: 合并请求事件类型 取值范围: MR的具体事件类型,取值有:open - 打开,reopen - 重开,update - 更新,merge - 合并。 |
build_type |
String |
参数解释: 基于分支还是tag运行。 取值范围: branch - 分支触发,tag - 标签触发。 |
commit_id |
String |
参数解释: 代码仓提交ID。 取值范围: 不涉及。 |
event_type |
String |
参数解释: CodeArts项目ID。 取值范围: Manual - 手动触发,Scheduler - 定时任务触发,RollBack - 回滚执行,以及WebHook类型:CreateTag - Tag 触发,Note - Gitee仓库评论触发,Issue - Gitee 仓库Issue触发,MR - 合并请求触发,Push - 代码push触发。 |
merge_id |
String |
参数解释: 合并请求ID。 取值范围: 不涉及。 |
message |
String |
参数解释: 代码仓提交信息。 取值范围: 不涉及。 |
source_branch |
String |
参数解释: 源分支。 取值范围: 不涉及。 |
tag |
String |
参数解释: 标签。 取值范围: 不涉及。 |
target_branch |
String |
参数解释: 目标分支。 取值范围: 不涉及。 |
codehub_id |
String |
参数解释: Repo代码仓ID。 取值范围: 不涉及。 |
source_codehub_id |
String |
参数解释: 源Repo代码仓ID。 取值范围: 不涉及。 |
source_codehub_url |
String |
参数解释: 源Repo代码仓地址。 取值范围: 不涉及。 |
source_codehub_http_url |
String |
参数解释: 源Repo代码仓http地址。 取值范围: 不涉及。 |
请求示例
GET https://{endpoint}/v5/54f90b75fc1447b1b65e8d3a9f77923d/api/pipelines/e5460d1d403146a1935c2d4b68ef506c/pipeline-runs/detail
响应示例
状态码: 200
OK
{ "id" : "25adfa6784124cfc9b9274ceaecf9957", "pipeline_id" : "98b6ea1536374df883bcc3b129bca4e9", "manifest_version" : "3.0", "name" : "子流水线qqq", "description" : null, "is_publish" : false, "executor_id" : "847a5317086c41798469d0868535943a", "executor_name" : "beta环境账号", "status" : "COMPLETED", "trigger_type" : "Manual", "run_number" : 1, "start_time" : 1674207197000, "end_time" : 1674207197000, "stages" : [ { "id" : "aac8063fbf084eec9722c77ece6dd283", "category" : null, "name" : "阶段_1", "identifier" : "0", "run_always" : false, "parallel" : null, "is_select" : true, "sequence" : 0, "depends_on" : [ ], "condition" : null, "status" : "COMPLETED", "start_time" : 1674207197000, "end_time" : 1674207197000, "pre" : [ { "name" : null, "task" : "official_devcloud_autoTrigger", "business_type" : null, "inputs" : null, "sequence" : 0, "official_task_version" : null, "identifier" : null, "multi_step_editable" : 0, "id" : "5a03bdb6ad2848ac972ba21744627a8c", "endpoint_ids" : null, "last_dispatch_id" : "6b3fa4c664844f33abc02053ddd76f62", "status" : "COMPLETED", "message" : null, "start_time" : 1674207197000, "end_time" : 1674207197000 } ], "post" : [ ], "jobs" : [ { "id" : "1cde6a3815164cd18d0fa4038f876e46", "category" : null, "sequence" : 0, "async" : null, "name" : "新建任务", "identifier" : "1674207161661b4a41d77-a478-4538-870b-ffb589c1af06", "depends_on" : [ ], "condition" : null, "resource" : null, "is_select" : true, "timeout" : "", "last_dispatch_id" : null, "status" : "COMPLETED", "message" : "not found steps", "start_time" : 1674207197000, "end_time" : 1674207197000, "steps" : [ ] } ] } ], "domain_id" : "ce8df55870164338a72d7e828a966a2a", "project_id" : "6428c2e2b4b64affa14ec80896695c49", "region" : "region01", "component_id" : "", "language" : "zh-cn", "sources" : [ { "type" : "code", "params" : { "git_type" : "codehub", "git_url" : "https://example.com/clsyz00001/aaaaa.git", "ssh_git_url" : "git@example.com:clsyz00001/aaaaa.git", "web_url" : "", "repo_name" : "aaaaa", "default_branch" : "master", "endpoint_id" : "", "codehub_id" : "2111677704", "alias" : "", "build_params" : { "action" : null, "build_type" : "branch", "commit_id" : "990ea057751d299f5575aac25bf97e88a60b461e", "event_type" : "Manual", "merge_id" : null, "message" : "新建文件 Dockerfile", "source_branch" : null, "tag" : null, "target_branch" : "master", "codehub_id" : "2111677704" } } } ], "artifacts" : null, "subject_id" : "25adfa6784124cfc9b9274ceaecf9957" }
SDK代码示例
SDK代码示例如下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.codeartspipeline.v2.region.CodeArtsPipelineRegion; import com.huaweicloud.sdk.codeartspipeline.v2.*; import com.huaweicloud.sdk.codeartspipeline.v2.model.*; public class ShowPipelineRunDetailSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); CodeArtsPipelineClient client = CodeArtsPipelineClient.newBuilder() .withCredential(auth) .withRegion(CodeArtsPipelineRegion.valueOf("<YOUR REGION>")) .build(); ShowPipelineRunDetailRequest request = new ShowPipelineRunDetailRequest(); request.withPipelineRunId("<pipeline_run_id>"); try { ShowPipelineRunDetailResponse response = client.showPipelineRunDetail(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcodeartspipeline.v2.region.codeartspipeline_region import CodeArtsPipelineRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcodeartspipeline.v2 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] credentials = BasicCredentials(ak, sk) client = CodeArtsPipelineClient.new_builder() \ .with_credentials(credentials) \ .with_region(CodeArtsPipelineRegion.value_of("<YOUR REGION>")) \ .build() try: request = ShowPipelineRunDetailRequest() request.pipeline_run_id = "<pipeline_run_id>" response = client.show_pipeline_run_detail(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" codeartspipeline "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartspipeline/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartspipeline/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartspipeline/v2/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := codeartspipeline.NewCodeArtsPipelineClient( codeartspipeline.CodeArtsPipelineClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ShowPipelineRunDetailRequest{} pipelineRunIdRequest:= "<pipeline_run_id>" request.PipelineRunId = &pipelineRunIdRequest response, err := client.ShowPipelineRunDetail(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
状态码 |
描述 |
---|---|
200 |
OK |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
错误码
请参见错误码。