Starting a Pipeline
Function
This API is used to start a pipeline.
Calling Method
For details, see Calling APIs.
URI
POST /v5/{project_id}/api/pipelines/{pipeline_id}/run
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Definition: Project ID. For details, see Obtaining a Project ID. Constraints: N/A Value range: The value consists of 32 characters, including digits and letters. Default value: N/A |
pipeline_id |
Yes |
String |
Definition: Pipeline ID. Obtain the ID by calling the API for querying pipelines. pipelines.pipelineId indicates the pipeline ID. Constraints: N/A Value range: The value consists of 32 characters, including digits and letters. Default value: N/A |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
Definition: User token. Obtain a token (the value of the X-Subject-Token response header) by calling the IAM API forobtaining a user token. Constraints: N/A Value range: N/A Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
sources |
No |
Array of sources objects |
Parameter description: Code source information list. Constraints: N/A Value range: N/A Default value: N/A |
description |
No |
String |
Definition: Pipeline running description. Constraints: N/A Value range: Max. 1,024 characters. Default value: N/A |
variables |
No |
Array of variables objects |
Definition: Custom parameters. Constraints: N/A Value range: N/A Default value: N/A |
choose_jobs |
No |
Array of strings |
Parameter description: Pipeline jobs selected to run. Constraints: N/A Value range: N/A Default value: N/A |
choose_stages |
No |
Array of strings |
Parameter description: Selected pipeline stages. The priority is higher than that of choose_jobs. That is, if a stage is not selected, jobs (selected in choose_jobs) under this stage are ignored. Constraints: N/A. Value Range: N/A. Default value: N/A. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Definition: Pipeline source type. Currently, code and artifact are supported. Constraints: N/A Value range: N/A Default value: N/A |
params |
No |
params object |
Definition: Pipeline source parameters. Constraints: N/A Value range: N/A Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
git_type |
Yes |
String |
Definition: Code repository type. Constraints: N/A Value range:
Default value: N/A |
alias |
No |
String |
Parameter description: Code repository alias. The alias is user-defined and is used to distinguish system parameters when there are multiple repositories. For example, A_REPO_COMMIT_ID, B_REPO_COMMIT_ID. Constraints: N/A. Value Range: N/A. Default value: N/A. |
codehub_id |
No |
String |
Definition: ID of a CodeArts Repo repository. You can obtain the ID by calling the API for querying a code repository. Constraints: N/A Value range: N/A Default value: N/A |
default_branch |
No |
String |
Parameter description: Default branch of the code repository for pipeline execution. Constraints: None. Value range: None. Default value: None. |
git_url |
Yes |
String |
Parameter description: HTTPS address of the Git repository, for example, http://example.com/CloudPipelinezycs00001/2000.git. Constraints: None. Value range: None. Default value: None. |
endpoint_id |
No |
String |
Definition: Code source endpoint ID. Obtain the ID by calling the API for querying endpoints. endpoints.uuid indicates the endpoint ID. Constraints: N/A Value range: N/A Default value: N/A |
build_params |
No |
build_params object |
Definition: Pipeline build parameters. Constraints: N/A Value range: N/A Default value: N/A |
change_request_ids |
No |
Array of strings |
Definition: Change IDs of the change-triggered pipeline. Obtain the ID by calling the API for querying changes. data.id indicates the pipeline ID. Constraints: N/A Value range: N/A Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
build_type |
Yes |
String |
Definition: Code repository trigger type. The options include branch (triggered by a branch) and tag (triggered by a tag). Constraints: N/A Value range: N/A Default value: N/A |
event_type |
No |
String |
Definition: Pipeline trigger mode.
Constraints: N/A Value range: N/A Default value: N/A |
target_branch |
No |
String |
Parameter description: Branch that triggers the pipeline execution. Constraints: None. Value range: None. Default value: None. |
tag |
No |
String |
Parameter description: Tag for triggering a pipeline. Constraints: N/A Value range: N/A Default value: N/A |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
pipeline_run_id |
String |
Definition: Pipeline run ID. The return value of the API for starting a pipeline is the pipeline run ID. Value range: The value consists of 32 characters, including only digits and letters. |
Example Requests
Start a pipeline.
The specified branch is master, and the parameter is key:val.
POST http://{endpoint}/v5/54f90b75fc1447b1b65e8d3a9f77923d/api/pipelines/e5460d1d403146a1935c2d4b68ef506c/run { "sources" : [ { "type" : "code", "params" : { "git_type" : "codehub", "codehub_id" : "2111699716", "default_branch" : "test-lbdsb11", "git_url" : "http://example.com/clsyz00001/111.git", "build_params" : { "build_type" : "branch", "event_type" : "Manual", "target_branch" : "test-lbdsb11" } } } ], "description" : "Pipeline running description.", "variables" : [ { "name" : "key", "value" : "val" } ], "choose_jobs" : [ "16772939480734f4abbc4-b3b9-4235-82c2-46559434cbd4" ] }
Example Responses
Status code: 200
OK
{ "pipeline_run_id" : "ad6b7f66283a45be9c1f82b06c831e59" }
SDK Sample Code
The SDK sample code is as follows.
Start a pipeline.
The specified branch is master, and the parameter is key:val.
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
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.*; import java.util.List; import java.util.ArrayList; public class RunPipelineSolution { 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(); RunPipelineRequest request = new RunPipelineRequest(); request.withProjectId("{project_id}"); request.withPipelineId("{pipeline_id}"); RunPipelineDTO body = new RunPipelineDTO(); List<String> listbodyChooseJobs = new ArrayList<>(); listbodyChooseJobs.add("16772939480734f4abbc4-b3b9-4235-82c2-46559434cbd4"); List<RunPipelineDTOVariables> listbodyVariables = new ArrayList<>(); listbodyVariables.add( new RunPipelineDTOVariables() .withName("key") .withValue("val") ); RunPipelineDTOParamsBuildParams buildParamsParams = new RunPipelineDTOParamsBuildParams(); buildParamsParams.withBuildType("branch") .withTargetBranch("test-lbdsb11") .withEventType("Manual"); RunPipelineDTOParams paramsSources = new RunPipelineDTOParams(); paramsSources.withGitType("codehub") .withCodehubId("2111699716") .withDefaultBranch("test-lbdsb11") .withGitUrl("http://example.com/clsyz00001/111.git") .withBuildParams(buildParamsParams); List<RunPipelineDTOSources> listbodySources = new ArrayList<>(); listbodySources.add( new RunPipelineDTOSources() .withType("code") .withParams(paramsSources) ); body.withChooseJobs(listbodyChooseJobs); body.withVariables(listbodyVariables); body.withDescription("Pipeline running description."); body.withSources(listbodySources); request.withBody(body); try { RunPipelineResponse response = client.runPipeline(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()); } } } |
Start a pipeline.
The specified branch is master, and the parameter is key:val.
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# 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 = RunPipelineRequest() request.project_id = "{project_id}" request.pipeline_id = "{pipeline_id}" listChooseJobsbody = [ "16772939480734f4abbc4-b3b9-4235-82c2-46559434cbd4" ] listVariablesbody = [ RunPipelineDTOVariables( name="key", value="val" ) ] buildParamsParams = RunPipelineDTOParamsBuildParams( build_type="branch", target_branch="test-lbdsb11", event_type="Manual" ) paramsSources = RunPipelineDTOParams( git_type="codehub", codehub_id="2111699716", default_branch="test-lbdsb11", git_url="http://example.com/clsyz00001/111.git", build_params=buildParamsParams ) listSourcesbody = [ RunPipelineDTOSources( type="code", params=paramsSources ) ] request.body = RunPipelineDTO( choose_jobs=listChooseJobsbody, variables=listVariablesbody, description="Pipeline running description.", sources=listSourcesbody ) response = client.run_pipeline(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Start a pipeline.
The specified branch is master, and the parameter is key:val.
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
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.RunPipelineRequest{} request.ProjectId = "{project_id}" request.PipelineId = "{pipeline_id}" var listChooseJobsbody = []string{ "16772939480734f4abbc4-b3b9-4235-82c2-46559434cbd4", } var listVariablesbody = []model.RunPipelineDtoVariables{ { Name: "key", Value: "val", }, } targetBranchBuildParams:= "test-lbdsb11" eventTypeBuildParams:= "Manual" buildParamsParams := &model.RunPipelineDtoParamsBuildParams{ BuildType: "branch", TargetBranch: &targetBranchBuildParams, EventType: &eventTypeBuildParams, } codehubIdParams:= "2111699716" defaultBranchParams:= "test-lbdsb11" paramsSources := &model.RunPipelineDtoParams{ GitType: "codehub", CodehubId: &codehubIdParams, DefaultBranch: &defaultBranchParams, GitUrl: "http://example.com/clsyz00001/111.git", BuildParams: buildParamsParams, } var listSourcesbody = []model.RunPipelineDtoSources{ { Type: "code", Params: paramsSources, }, } descriptionRunPipelineDto:= "Pipeline running description." request.Body = &model.RunPipelineDto{ ChooseJobs: &listChooseJobsbody, Variables: &listVariablesbody, Description: &descriptionRunPipelineDto, Sources: &listSourcesbody, } response, err := client.RunPipeline(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Status Codes
Status Code |
Description |
---|---|
200 |
OK |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot