Updating a Pipeline Template
Function
This API is used to update a pipeline template.
Calling Method
For details, see Calling APIs.
URI
PUT /v5/{tenant_id}/api/pipeline-templates/{template_id}
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
tenant_id |
Yes |
String |
Definition: Tenant ID. Constraints: N/A Value range: The value consists of 32 characters, including digits and letters. Default value: N/A |
template_id |
Yes |
String |
Definition: Template ID, which is the unique identifier of a template. Obtain the template ID by calling the API for querying templates. templates.id indicates the template 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 |
---|---|---|---|
name |
Yes |
String |
Definition: Template name. Constraints: N/A Value range: N/A Default value: N/A |
description |
No |
String |
Definition: Template description. Constraints: N/A Value range: N/A Default value: N/A |
language |
Yes |
String |
Definition: Template language. Constraints: N/A Value range: N/A Default value: N/A |
variables |
No |
Array of CustomVariable objects |
Definition: Custom parameter. Constraints: N/A Value range: N/A Default value: N/A |
definition |
Yes |
String |
Definition: Template orchestration JSON file, including stages. Constraints: N/A Value range: N/A Default value: N/A |
is_system |
Yes |
Boolean |
Definition: Whether the template is a system template. Constraints: N/A Value range:
Default value: N/A |
domain_id |
Yes |
String |
Definition: Tenant ID. Constraints: N/A Value range: The value consists of 32 characters, including digits and letters. Default value: N/A |
is_show_source |
Yes |
Boolean |
Definition: Whether to display the pipeline source. Constraints: N/A Value range:
Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
pipeline_id |
No |
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 |
name |
No |
String |
Definition: Custom parameter name. Constraints: N/A Value range: Enter a maximum of 128 characters. Only letters, digits, and underscores (_) are supported. Default value: N/A |
sequence |
No |
Integer |
Parameter description: Parameter sequence number, which starts from 1. Constraints: None. Value range: None. Default value: None. |
type |
No |
String |
Definition: Custom parameter type. Constraints: N/A Value range:
Default value: N/A |
value |
No |
String |
Parameter description: Default value of a custom parameter. Constraints: None. Value range: Up to 8192 characters. Default value: None. |
is_secret |
No |
Boolean |
Definition: Private parameter or not. Constraints: N/A Value range:
Default value: false. |
description |
No |
String |
Parameter description: Parameter description. Constraints: None. Value range: Up to 1024 characters. Default value: None. |
is_runtime |
No |
Boolean |
Definition: Whether a parameter can be set at runtime. Constraints: N/A Value range:
Default value: false. |
limits |
No |
Array of objects |
Parameter description: List of enumerated values. Constraints: None. Value range: Up to 1,024 characters. Default value: None. |
is_reset |
No |
Boolean |
Definition: Whether to reset. If the auto-increment parameter is edited, the edited value is used. Otherwise, the last digit increases. Constraints: N/A Value range:
Default value: false. |
latest_value |
No |
String |
Definition: Value of the parameter in the last run. Constraints: N/A Value range: Max. 8,192 characters. Default value: N/A |
runtime_value |
No |
String |
Definition: Input value of a parameter when the pipeline is executed. Constraints: N/A Value range: N/A Default value: N/A |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
templateId |
String |
Definition: Template ID. Constraints: N/A Value range: N/A Default value: N/A |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_msg |
String |
Parameter description: Error message. Value range: N/A |
error_code |
String |
Parameter description: Error code. Value range: N/A |
Example Requests
PUT https://{endpoint}/v5/ce8df55870164338a72d7e828a966a2a/api/pipeline-templates/ad8a26f8b19a4b83a8d92eb733b65476 { "name" : "Creating a Pipeline Template-20231023212159", "language" : "none", "description" : "", "is_system" : false, "domain_id" : "ce8df55870164338a72d7e828a966a2a", "variables" : [ ], "is_show_source" : true, "definition" : "{\"stages\":[{\"name\":\"Stage_1\",\"sequence\":\"0\",\"jobs\":[{\"stage_id\":1698067319814,\"identifier\":\"16980673371452673e2a4-b3e1-4389-a145-fc57a4473137\",\"name\":\"CloudBuild template\",\"depends_on\":[],\"timeout\":\"\",\"timeout_unit\":\"\",\"steps\":[{\"name\":\"CloudBuild template\",\"task\":\"official_devcloud_cloudBuild_template\",\"sequence\":0,\"inputs\":[{\"key\":\"pipelineNumber\",\"value\":\"v1.0.0\"},{\"key\":\"artifactName\",\"value\":\"name\"},{\"key\":\"is_build_in\",\"value\":\"system\"},{\"key\":\"module_or_template_id\",\"value\":\"00057\"}],\"business_type\":\"Build\",\"runtime_attribution\":\"agent\",\"identifier\":\"1698067328741629de896-a67b-4c2a-be40-7f6531af2f19\",\"multi_step_editable\":0,\"official_task_version\":\"0.0.1\"}],\"resource\":\"{\\\"type\\\":\\\"system\\\",\\\"arch\\\":\\\"x86\\\"}\",\"condition\":\"${{ completed() }}\",\"exec_type\":\"OCTOPUS_JOB\",\"sequence\":0},{\"identifier\":\"1698067635354dba15971-5277-48fe-a219-8cd578aa8773\",\"name\":\"CodeCheck\",\"task\":\"official_devcloud_codeCheck_template\",\"sequence\":0,\"inputs\":[{\"key\":\"language\",\"value\":\"C/C++\"},{\"key\":\"module_or_template_id\",\"value\":\"d7dffaefb6d94c63a09cf141668356c7\"}],\"business_type\":\"Gate\",\"runtime_attribution\":\"agent\",\"identifier\":\"1698067631617e1847e52-06ff-429e-9bfa-492ae877f192\",\"multi_step_editable\":0,\"official_task_version\":\"0.0.1\"}],\"resource\":\"{\\\"type\\\":\\\"system\\\",\\\"arch\\\":\\\"x86\\\"}\",\"condition\":\"completed()\",\"exec_type\":\"OCTOPUS_JOB\",\"sequence\":1}],\"identifier\":\"1698067319814bd28be5a-eb0c-4bdf-9ac5-4b441ef46ef9\",\"pre\":[{\"task\":\"official_devcloud_autoTrigger\",\"sequence\":0}],\"post\":null,\"depends_on\":[],\"run_always\":false}]}" }
Example Responses
Status code: 200
OK
{ "templateId" : "ad8a26f8b19a4b83a8d92eb733b65476" }
SDK Sample Code
The SDK sample code is as follows.
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 |
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 UpdatePipelineTemplateSolution { 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(); UpdatePipelineTemplateRequest request = new UpdatePipelineTemplateRequest(); request.withTenantId("{tenant_id}"); request.withTemplateId("{template_id}"); PipelineTemplateDTO body = new PipelineTemplateDTO(); body.withIsShowSource(true); body.withDomainId("ce8df55870164338a72d7e828a966a2a"); body.withIsSystem(false); body.withDefinition("{"stages":[{"name":"Stage_1","sequence":"0","jobs":[{"stage_id":1698067319814,"identifier":"16980673371452673e2a4-b3e1-4389-a145-fc57a4473137","name":"CloudBuild template","depends_on":[],"timeout":"","timeout_unit":"","steps":[{"name":"CloudBuild template","task":"official_devcloud_cloudBuild_template","sequence":0,"inputs":[{"key":"pipelineNumber","value":"v1.0.0"},{"key":"artifactName","value":"name"},{"key":"is_build_in","value":"system"},{"key":"module_or_template_id","value":"00057"}],"business_type":"Build","runtime_attribution":"agent","identifier":"1698067328741629de896-a67b-4c2a-be40-7f6531af2f19","multi_step_editable":0,"official_task_version":"0.0.1"}],"resource":"{\"type\":\"system\",\"arch\":\"x86\"}","condition":"${{ completed() }}","exec_type":"OCTOPUS_JOB","sequence":0},{"identifier":"1698067635354dba15971-5277-48fe-a219-8cd578aa8773","name":"CodeCheck","task":"official_devcloud_codeCheck_template","sequence":0,"inputs":[{"key":"language","value":"C/C++"},{"key":"module_or_template_id","value":"d7dffaefb6d94c63a09cf141668356c7"}],"business_type":"Gate","runtime_attribution":"agent","identifier":"1698067631617e1847e52-06ff-429e-9bfa-492ae877f192","multi_step_editable":0,"official_task_version":"0.0.1"}],"resource":"{\"type\":\"system\",\"arch\":\"x86\"}","condition":"completed()","exec_type":"OCTOPUS_JOB","sequence":1}],"identifier":"1698067319814bd28be5a-eb0c-4bdf-9ac5-4b441ef46ef9","pre":[{"task":"official_devcloud_autoTrigger","sequence":0}],"post":null,"depends_on":[],"run_always":false}]}"); body.withVariables("[]"); body.withLanguage("none"); body.withDescription(""); body.withName("Creating a Pipeline Template-20231023212159"); request.withBody(body); try { UpdatePipelineTemplateResponse response = client.updatePipelineTemplate(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 32 33 34 35 36 37 38 39 40 41 42 |
# 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 = UpdatePipelineTemplateRequest() request.tenant_id = "{tenant_id}" request.template_id = "{template_id}" request.body = PipelineTemplateDTO( is_show_source=True, domain_id="ce8df55870164338a72d7e828a966a2a", is_system=False, definition="{"stages":[{"name":"Stage_1","sequence":"0","jobs":[{"stage_id":1698067319814,"identifier":"16980673371452673e2a4-b3e1-4389-a145-fc57a4473137","name":"CloudBuild template","depends_on":[],"timeout":"","timeout_unit":"","steps":[{"name":"CloudBuild template","task":"official_devcloud_cloudBuild_template","sequence":0,"inputs":[{"key":"pipelineNumber","value":"v1.0.0"},{"key":"artifactName","value":"name"},{"key":"is_build_in","value":"system"},{"key":"module_or_template_id","value":"00057"}],"business_type":"Build","runtime_attribution":"agent","identifier":"1698067328741629de896-a67b-4c2a-be40-7f6531af2f19","multi_step_editable":0,"official_task_version":"0.0.1"}],"resource":"{\"type\":\"system\",\"arch\":\"x86\"}","condition":"${{ completed() }}","exec_type":"OCTOPUS_JOB","sequence":0},{"identifier":"1698067635354dba15971-5277-48fe-a219-8cd578aa8773","name":"CodeCheck","task":"official_devcloud_codeCheck_template","sequence":0,"inputs":[{"key":"language","value":"C/C++"},{"key":"module_or_template_id","value":"d7dffaefb6d94c63a09cf141668356c7"}],"business_type":"Gate","runtime_attribution":"agent","identifier":"1698067631617e1847e52-06ff-429e-9bfa-492ae877f192","multi_step_editable":0,"official_task_version":"0.0.1"}],"resource":"{\"type\":\"system\",\"arch\":\"x86\"}","condition":"completed()","exec_type":"OCTOPUS_JOB","sequence":1}],"identifier":"1698067319814bd28be5a-eb0c-4bdf-9ac5-4b441ef46ef9","pre":[{"task":"official_devcloud_autoTrigger","sequence":0}],"post":null,"depends_on":[],"run_always":false}]}", variables="[]", language="none", description="", name="Creating a Pipeline Template-20231023212159" ) response = client.update_pipeline_template(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 38 39 40 41 42 43 44 45 46 47 48 49 |
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.UpdatePipelineTemplateRequest{} request.TenantId = "{tenant_id}" request.TemplateId = "{template_id}" var variablesVariables interface{} = "[]" descriptionPipelineTemplateDto:= "" request.Body = &model.PipelineTemplateDto{ IsShowSource: true, DomainId: "ce8df55870164338a72d7e828a966a2a", IsSystem: false, Definition: "{"stages":[{"name":"Stage_1","sequence":"0","jobs":[{"stage_id":1698067319814,"identifier":"16980673371452673e2a4-b3e1-4389-a145-fc57a4473137","name":"CloudBuild template","depends_on":[],"timeout":"","timeout_unit":"","steps":[{"name":"CloudBuild template","task":"official_devcloud_cloudBuild_template","sequence":0,"inputs":[{"key":"pipelineNumber","value":"v1.0.0"},{"key":"artifactName","value":"name"},{"key":"is_build_in","value":"system"},{"key":"module_or_template_id","value":"00057"}],"business_type":"Build","runtime_attribution":"agent","identifier":"1698067328741629de896-a67b-4c2a-be40-7f6531af2f19","multi_step_editable":0,"official_task_version":"0.0.1"}],"resource":"{\"type\":\"system\",\"arch\":\"x86\"}","condition":"${{ completed() }}","exec_type":"OCTOPUS_JOB","sequence":0},{"identifier":"1698067635354dba15971-5277-48fe-a219-8cd578aa8773","name":"CodeCheck","task":"official_devcloud_codeCheck_template","sequence":0,"inputs":[{"key":"language","value":"C/C++"},{"key":"module_or_template_id","value":"d7dffaefb6d94c63a09cf141668356c7"}],"business_type":"Gate","runtime_attribution":"agent","identifier":"1698067631617e1847e52-06ff-429e-9bfa-492ae877f192","multi_step_editable":0,"official_task_version":"0.0.1"}],"resource":"{\"type\":\"system\",\"arch\":\"x86\"}","condition":"completed()","exec_type":"OCTOPUS_JOB","sequence":1}],"identifier":"1698067319814bd28be5a-eb0c-4bdf-9ac5-4b441ef46ef9","pre":[{"task":"official_devcloud_autoTrigger","sequence":0}],"post":null,"depends_on":[],"run_always":false}]}", Variables: &variablesVariables, Language: "none", Description: &descriptionPipelineTemplateDto, Name: "Creating a Pipeline Template-20231023212159", } response, err := client.UpdatePipelineTemplate(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 |
400 |
Bad request |
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