Creating a Build Task (Outdated)
Function
This API is used to create a build task.
Calling Method
For details, see Calling APIs.
URI
POST /v3/jobs/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 |
---|---|---|---|
arch |
Yes |
String |
Definition CPU architecture of the server. Constraints N/A. Range x86-64 or arm. Default Value N/A. |
project_id |
Yes |
String |
Definition CodeArts project ID. For details about how to obtain the CodeArts project ID, see Obtaining a CodeArts Project ID. Constraints N/A. Range A UUID. Use a 32-character string containing a mix of digits and letters. Default Value N/A. |
job_name |
Yes |
String |
Definition Build task name. Constraints N/A. Range Letters, digits, underscores (_), and hyphens (-) are allowed. The value can contain 1 to 115 characters. Default Value N/A. |
auto_update_sub_module |
No |
String |
Definition Whether submodules are automatically updated. Constraints N/A. Range false: Submodules are not updated. true: Submodules are updated. Default Value false |
flavor |
No |
String |
Definition Executor specification. Constraints N/A. Range N/A. Default Value N/A. |
host_type |
No |
String |
Definition Host type. Constraints N/A. Range N/A. Default Value N/A. |
build_config_type |
No |
String |
Definition Build configuration type. It can be YAML or ACTION. Constraints N/A. Range YAML or ACTION. Default Value N/A. |
build_if_code_updated |
No |
Boolean |
Definition The switch that controls whether code commits trigger builds. Constraints N/A. Range true: Every code commit will trigger the build task. false: Code commits will not trigger the build task. Default Value N/A. |
parameters |
No |
Array of CreateBuildJobParameter objects |
Definition A list of build task execution parameters. Constraints N/A. Range N/A. Default Value N/A. |
group_id |
No |
String |
Definition Task group ID. Constraints N/A. Range N/A. Default Value N/A. |
timeout |
No |
CreateBuildTimeout object |
Definition Timeout duration of a build task. Constraints N/A. Range N/A. Default Value N/A. |
scms |
No |
Array of CreateBuildJobScm objects |
Definition Information about the code repository used during a build. Constraints N/A. Range N/A. Default Value N/A. |
steps |
Yes |
Array of CreateBuildJobSteps objects |
Definition Build actions being executed. Constraints N/A. Range N/A. Default Value N/A. |
triggers |
No |
Array of Trigger objects |
Definition A collection of scheduled task triggers. Constraints N/A. Range N/A. Default Value N/A. |
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. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
limit |
No |
String |
Definition Build task execution timeout. Constraints N/A. Range 0–4. Default Value 4 |
unit |
No |
String |
Definition Time unit for timeout. Constraints N/A. Range seconds, minute, or hour. Default Value hour |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
branch |
No |
String |
Definition Name of the code branch. Constraints N/A. Range N/A. Default Value N/A. |
url |
Yes |
String |
Definition Code repository address. Constraints N/A. Range N/A. Default Value N/A. |
repo_id |
No |
String |
Definition Repo ID. Constraints N/A. Range N/A. Default Value N/A. |
web_url |
No |
String |
Definition HTTPS address of the code repository. Constraints N/A. Range N/A. Default Value N/A. |
scm_type |
Yes |
String |
Definition Repository type. Constraints N/A. Range repo, github, gitee, gerrit, gitcode, or codehub Default Value N/A. |
is_auto_build |
No |
Boolean |
Definition Whether to trigger a build upon any code commit. Constraints N/A. Range ● true: Auto-build allowed. ● false: Auto-build disallowed. Default Value true |
enable_git_lfs |
No |
Boolean |
Definition Whether to enable Git LFS. Constraints N/A. Range ● true: Git LFS enabled. ● false: Git LFS disabled. Default Value ● true |
build_type |
No |
String |
Definition Build type. Options include build from a branch, tag, or commit. Constraints N/A. Range N/A. Default Value N/A. |
depth |
No |
String |
Definition Clone depth. The clone depth is the number of recent commits that will be cloned. A larger value indicates more commits will be fetched. Constraints N/A. Range 1–25. Default Value 1 |
end_point_id |
No |
String |
Definition Endpoint ID used for pulling code from services such as Git. Constraints N/A. Range N/A. Default Value N/A. |
source |
No |
String |
Definition Source of the code repository. Constraints N/A. Range N/A. Default Value N/A. |
group_name |
No |
String |
Definition Repository group name. Constraints N/A. Range N/A. Default Value N/A. |
repo_name |
No |
String |
Definition Repository name. Constraints N/A. Range N/A. Default Value N/A. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
properties |
No |
Map<String,Object> |
Definition Build action parameters. Constraints N/A. Range N/A. Default Value N/A. |
module_id |
Yes |
String |
Definition Build action ID. Constraints N/A. Range N/A. Default Value N/A. |
name |
Yes |
String |
Definition Build action name. Constraints The value allows letters, digits, hyphens (-), underscores (_), commas (,), semicolons (;), colons (:), periods (.), slashes (/), and parentheses. The value can contain 1 to 128 characters. Range N/A. Default Value N/A. |
version |
No |
String |
Definition Build action version. Constraints N/A. Range N/A. Default Value N/A. |
enable |
No |
Boolean |
Definition Whether to enable automatic build task. Constraints N/A. Range ● true: Enabled. ● false: Disabled. Default Value true |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
parameters |
Yes |
Array of ParameterItem objects |
Definition Custom parameter. Constraints N/A. Range N/A. Default Value N/A. |
name |
Yes |
String |
Definition Trigger type. Constraints N/A. Range N/A. Default Value N/A. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Definition Custom parameter name. Constraints ● Do not use the following fields: LD_PRELOAD, LD_LIBRARY_PATH, PATH, BASH_ENV, GIT_SSH_COMMAND, and path. ● Symbols are not supported. Range Custom parameter name. The length cannot exceed 128 characters. Only letters, digits, and underscores (_) are supported. Default Value N/A. |
value |
Yes |
String |
Definition Parameter value. Constraints N/A. Range Default value of the custom parameter. Max. 8,192 characters. Default Value N/A. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
result |
result object |
Definition Data returned after the API is successfully called. Range N/A. |
status |
String |
Definition Status information. Range ● success: The API call is successful. ● fail: The API call failed. |
error |
String |
Definition Error message. 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}/v3/jobs/create { "arch" : "x86-64", "project_id" : "a287e712be6c404ca26e5f69040fa12b", "job_name" : "examplejob", "auto_update_sub_module" : "false", "flavor" : "2u8g", "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" } ] } ], "scms" : [ { "branch" : "master", "url" : "git@codehub.devcloud.{region}.huawei.com:soso-test00001/an.git", "repo_id" : "2111746211", "web_url" : "https://codehub.devcloud.{region}.huawei.com/codehub/2111746211/home", "scm_type" : "codehub", "is_auto_build" : false, "build_type" : "branch", "depth" : "1" } ], "steps" : [ { "properties" : null, "module_id" : "devcloud2018.codeci_action_20043.action", "name" : "Build with Maven", "version" : "20231001.6", "enable" : true } ], "host_type" : "devcloud" }
Example Responses
Status code: 200
OK
{ "result" : { "job_id" : "db8467d972cc47f7a1bd2a3a3e77596a" }, "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 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
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 CreateBuildJobSolution { 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(); CreateBuildJobRequest request = new CreateBuildJobRequest(); CreateBuildJobRequestBody body = new CreateBuildJobRequestBody(); List<CreateBuildJobSteps> listbodySteps = new ArrayList<>(); listbodySteps.add( new CreateBuildJobSteps() .withModuleId("devcloud2018.codeci_action_20043.action") .withName("Build with Maven") .withVersion("20231001.6") .withEnable(true) ); List<CreateBuildJobScm> listbodyScms = new ArrayList<>(); listbodyScms.add( new CreateBuildJobScm() .withBranch("master") .withUrl("git@codehub.devcloud.{region}.huawei.com:soso-test00001/an.git") .withRepoId("2111746211") .withWebUrl("https://codehub.devcloud.{region}.huawei.com/codehub/2111746211/home") .withScmType("codehub") .withIsAutoBuild(false) .withBuildType("branch") .withDepth("1") ); 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) ); body.withHostType("devcloud"); body.withSteps(listbodySteps); body.withScms(listbodyScms); body.withParameters(listbodyParameters); body.withFlavor("2u8g"); body.withAutoUpdateSubModule("false"); body.withJobName("examplejob"); body.withProjectId("a287e712be6c404ca26e5f69040fa12b"); body.withArch("x86-64"); request.withBody(body); try { CreateBuildJobResponse response = client.createBuildJob(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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# 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 = CreateBuildJobRequest() listStepsbody = [ CreateBuildJobSteps( module_id="devcloud2018.codeci_action_20043.action", name="Build with Maven", version="20231001.6", enable=True ) ] listScmsbody = [ CreateBuildJobScm( branch="master", url="git@codehub.devcloud.{region}.huawei.com:soso-test00001/an.git", repo_id="2111746211", web_url="https://codehub.devcloud.{region}.huawei.com/codehub/2111746211/home", scm_type="codehub", is_auto_build=False, build_type="branch", depth="1" ) ] 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 ) ] request.body = CreateBuildJobRequestBody( host_type="devcloud", steps=listStepsbody, scms=listScmsbody, parameters=listParametersbody, flavor="2u8g", auto_update_sub_module="false", job_name="examplejob", project_id="a287e712be6c404ca26e5f69040fa12b", arch="x86-64" ) response = client.create_build_job(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 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
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.CreateBuildJobRequest{} versionSteps:= "20231001.6" enableSteps:= true var listStepsbody = []model.CreateBuildJobSteps{ { ModuleId: "devcloud2018.codeci_action_20043.action", Name: "Build with Maven", Version: &versionSteps, Enable: &enableSteps, }, } branchScms:= "master" repoIdScms:= "2111746211" webUrlScms:= "https://codehub.devcloud.{region}.huawei.com/codehub/2111746211/home" isAutoBuildScms:= false buildTypeScms:= "branch" depthScms:= "1" var listScmsbody = []model.CreateBuildJobScm{ { Branch: &branchScms, Url: "git@codehub.devcloud.{region}.huawei.com:soso-test00001/an.git", RepoId: &repoIdScms, WebUrl: &webUrlScms, ScmType: "codehub", IsAutoBuild: &isAutoBuildScms, BuildType: &buildTypeScms, Depth: &depthScms, }, } 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, }, } hostTypeCreateBuildJobRequestBody:= "devcloud" flavorCreateBuildJobRequestBody:= "2u8g" autoUpdateSubModuleCreateBuildJobRequestBody:= "false" request.Body = &model.CreateBuildJobRequestBody{ HostType: &hostTypeCreateBuildJobRequestBody, Steps: listStepsbody, Scms: &listScmsbody, Parameters: &listParametersbody, Flavor: &flavorCreateBuildJobRequestBody, AutoUpdateSubModule: &autoUpdateSubModuleCreateBuildJobRequestBody, JobName: "examplejob", ProjectId: "a287e712be6c404ca26e5f69040fa12b", Arch: "x86-64", } response, err := client.CreateBuildJob(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