Creating a Build Template (Version 1)
Function
This API is used to create a build template.
Calling Method
For details, see Calling APIs.
URI
POST /v1/template/create
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
Definition User token. (The value of the X-Subject-Token response header is the user token.) It is obtained by calling the IAM API. For details, see Obtaining an IAM User Token. Constraints Global tenant tokens are not supported. Use a region-level token whose scope is project. Range N/A. Default Value N/A. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
template |
Yes |
CreateTemplate object |
Definition Build action template. It is named using the camel case convention. Constraints N/A. Range N/A. Default Value N/A. |
name |
Yes |
String |
Definition Template name. Constraints N/A. Range N/A. Default Value N/A. |
description |
No |
String |
Definition Template description. Constraints N/A. Range N/A. Default Value N/A. |
tool_type |
No |
String |
Definition Tool type. Constraints N/A. Range N/A. Default Value N/A. |
parameters |
No |
Array of CreateBuildJobParameter objects |
Definition A list of build execution parameters. Constraints N/A. Range N/A. Default Value N/A. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
steps |
Yes |
Array of CreateTemplateSteps objects |
Definition Build actions being executed. Constraints N/A. Range N/A. Default Value N/A. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
properties |
No |
Map<String,Object> |
Definition Detailed build actions. Constraints N/A. Range N/A. Default Value N/A. |
module_id |
Yes |
String |
Definition Build module ID. Constraints N/A. Range N/A. Default Value N/A. |
name |
No |
String |
Definition Build module name. Constraints N/A. Range N/A. Default Value N/A. |
version |
No |
String |
Definition Build version. Constraints N/A. Range N/A. Default Value N/A. |
enable |
No |
Boolean |
Definition Whether enabled or not. Constraints N/A. Range ● true: Enabled. ● false: Disabled. Default Value true |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
No |
String |
Definition Parameter definition name. The default value is hudson.model.StringParameterDefinition. Constraints N/A. Range N/A. Default Value N/A. |
params |
No |
Array of CreateBuildJobParameterParam objects |
Definition Subparameters of build execution parameters. Constraints N/A. Range N/A. Default Value N/A. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
No |
String |
Definition Parameter field name. Constraints N/A. Range N/A. Default Value N/A. |
value |
No |
String |
Definition Parameter field value. Constraints N/A. Range N/A. Default Value N/A. |
limits |
No |
Array of LimitsParam objects |
Definition Restrictions on enumeration parameters. Constraints N/A. Range N/A. Default Value N/A. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
disable |
No |
String |
Definition Whether enabled or not. The default value is 0, indicating "enabled". Constraints N/A. Range N/A. Default Value N/A. |
display_name |
No |
String |
Definition Parameter display name. Constraints N/A. Range N/A. Default Value N/A. |
name |
No |
String |
Definition Parameter name. Constraints N/A. Range N/A. Default Value N/A. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
status |
String |
Definition Task execution result. Range N/A. |
result |
result object |
Definition Data returned after the API is successfully called. Range N/A. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 404
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error message. |
Example Requests
POST https://{endpoint}/v1/template/create { "name" : "example", "description" : "123", "tool_type" : "123123", "template" : { "steps" : [ { "module_id" : "devcloud2018.codeci_action_20043.action", "name" : "Build with Maven", "enable" : true, "properties" : null } ] }, "parameters" : [ { "name" : "hudson.model.StringParameterDefinition", "params" : [ { "name" : "name", "value" : "codeBranch" }, { "name" : "type", "value" : "normalparam" }, { "name" : "defaultValue", "value" : "master" }, { "name" : "description", "value" : "description" }, { "name" : "deletion", "value" : "false" }, { "name" : "defaults", "value" : "true" }, { "name" : "staticVar", "value" : "false" }, { "name" : "sensitiveVar", "value" : "false" } ] } ] }
Example Responses
Status code: 200
OK
{ "result" : { "uuid" : "77176fe3a02c4a49af822360760a607d" }, "error" : null, "status" : "success" }
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 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
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.codeartsbuild.v3.region.CodeArtsBuildRegion; import com.huaweicloud.sdk.codeartsbuild.v3.*; import com.huaweicloud.sdk.codeartsbuild.v3.model.*; import java.util.List; import java.util.ArrayList; public class CreateTemplateSolution { 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); CodeArtsBuildClient client = CodeArtsBuildClient.newBuilder() .withCredential(auth) .withRegion(CodeArtsBuildRegion.valueOf("<YOUR REGION>")) .build(); CreateTemplateRequest request = new CreateTemplateRequest(); CreateTemplatesRequestBody body = new CreateTemplatesRequestBody(); List<CreateBuildJobParameterParam> listParametersParams = new ArrayList<>(); listParametersParams.add( new CreateBuildJobParameterParam() .withName("name") .withValue("codeBranch") ); listParametersParams.add( new CreateBuildJobParameterParam() .withName("type") .withValue("normalparam") ); listParametersParams.add( new CreateBuildJobParameterParam() .withName("defaultValue") .withValue("master") ); listParametersParams.add( new CreateBuildJobParameterParam() .withName("description") .withValue("description") ); listParametersParams.add( new CreateBuildJobParameterParam() .withName("deletion") .withValue("false") ); listParametersParams.add( new CreateBuildJobParameterParam() .withName("defaults") .withValue("true") ); listParametersParams.add( new CreateBuildJobParameterParam() .withName("staticVar") .withValue("false") ); listParametersParams.add( new CreateBuildJobParameterParam() .withName("sensitiveVar") .withValue("false") ); List<CreateBuildJobParameter> listbodyParameters = new ArrayList<>(); listbodyParameters.add( new CreateBuildJobParameter() .withName("hudson.model.StringParameterDefinition") .withParams(listParametersParams) ); List<CreateTemplateSteps> listTemplateSteps = new ArrayList<>(); listTemplateSteps.add( new CreateTemplateSteps() .withModuleId("devcloud2018.codeci_action_20043.action") .withName("Build with Maven") .withEnable(true) ); CreateTemplate templatebody = new CreateTemplate(); templatebody.withSteps(listTemplateSteps); body.withParameters(listbodyParameters); body.withToolType("123123"); body.withDescription("123"); body.withName("example"); body.withTemplate(templatebody); request.withBody(body); try { CreateTemplateResponse response = client.createTemplate(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 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 80 81 82 83 84 85 86 87 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcodeartsbuild.v3.region.codeartsbuild_region import CodeArtsBuildRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcodeartsbuild.v3 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 = CodeArtsBuildClient.new_builder() \ .with_credentials(credentials) \ .with_region(CodeArtsBuildRegion.value_of("<YOUR REGION>")) \ .build() try: request = CreateTemplateRequest() listParamsParameters = [ CreateBuildJobParameterParam( name="name", value="codeBranch" ), CreateBuildJobParameterParam( name="type", value="normalparam" ), CreateBuildJobParameterParam( name="defaultValue", value="master" ), CreateBuildJobParameterParam( name="description", value="description" ), CreateBuildJobParameterParam( name="deletion", value="false" ), CreateBuildJobParameterParam( name="defaults", value="true" ), CreateBuildJobParameterParam( name="staticVar", value="false" ), CreateBuildJobParameterParam( name="sensitiveVar", value="false" ) ] listParametersbody = [ CreateBuildJobParameter( name="hudson.model.StringParameterDefinition", params=listParamsParameters ) ] listStepsTemplate = [ CreateTemplateSteps( module_id="devcloud2018.codeci_action_20043.action", name="Build with Maven", enable=True ) ] templatebody = CreateTemplate( steps=listStepsTemplate ) request.body = CreateTemplatesRequestBody( parameters=listParametersbody, tool_type="123123", description="123", name="example", template=templatebody ) response = client.create_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 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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" codeartsbuild "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsbuild/v3" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsbuild/v3/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsbuild/v3/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 := codeartsbuild.NewCodeArtsBuildClient( codeartsbuild.CodeArtsBuildClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.CreateTemplateRequest{} nameParams:= "name" valueParams:= "codeBranch" nameParams1:= "type" valueParams1:= "normalparam" nameParams2:= "defaultValue" valueParams2:= "master" nameParams3:= "description" valueParams3:= "description" nameParams4:= "deletion" valueParams4:= "false" nameParams5:= "defaults" valueParams5:= "true" nameParams6:= "staticVar" valueParams6:= "false" nameParams7:= "sensitiveVar" valueParams7:= "false" var listParamsParameters = []model.CreateBuildJobParameterParam{ { Name: &nameParams, Value: &valueParams, }, { Name: &nameParams1, Value: &valueParams1, }, { Name: &nameParams2, Value: &valueParams2, }, { Name: &nameParams3, Value: &valueParams3, }, { Name: &nameParams4, Value: &valueParams4, }, { Name: &nameParams5, Value: &valueParams5, }, { Name: &nameParams6, Value: &valueParams6, }, { Name: &nameParams7, Value: &valueParams7, }, } nameParameters:= "hudson.model.StringParameterDefinition" var listParametersbody = []model.CreateBuildJobParameter{ { Name: &nameParameters, Params: &listParamsParameters, }, } nameSteps:= "Build with Maven" enableSteps:= true var listStepsTemplate = []model.CreateTemplateSteps{ { ModuleId: "devcloud2018.codeci_action_20043.action", Name: &nameSteps, Enable: &enableSteps, }, } templatebody := &model.CreateTemplate{ Steps: listStepsTemplate, } toolTypeCreateTemplatesRequestBody:= "123123" descriptionCreateTemplatesRequestBody:= "123" request.Body = &model.CreateTemplatesRequestBody{ Parameters: &listParametersbody, ToolType: &toolTypeCreateTemplatesRequestBody, Description: &descriptionCreateTemplatesRequestBody, Name: "example", Template: templatebody, } response, err := client.CreateTemplate(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 |
500 |
Internal Server Error |
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