Updated on 2024-04-18 GMT+08:00

Updating a Build Task

Function

This API is used to update the running status of a build task.

Calling Method

For details, see Calling APIs.

URI

POST /v3/jobs/update

Request Parameters

Table 1 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token. It can be obtained by calling the IAM API. (Value of X-Subject-Token in the response header.) Global tenant tokens are not supported. Use a region-level token whose scope is project.

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

arch

Yes

String

Architecture.

project_id

Yes

String

ID of the project to which the build task belongs.

job_name

Yes

String

Task name.

job_id

Yes

String

Build task ID.

auto_update_sub_module

No

String

Whether to automatically update submodules.

flavor

No

String

Executor flavors.

parameters

No

Array of UpdateBuildJobParameter objects

Parameters for build execution.

scms

No

Array of UpdateBuildJobScm objects

SCMs of build execution.

steps

Yes

Array of UpdateBuildJobSteps objects

Build actions.

host_type

No

String

Host type.

build_config_type

No

String

Build configuration type.

Table 3 UpdateBuildJobParameter

Parameter

Mandatory

Type

Description

name

No

String

Parameter definition name. The default value is hudson.model.StringParameterDefinition.

params

No

Array of UpdateBuildJobParameterParam objects

Subparameters of build execution parameters.

Table 4 UpdateBuildJobParameterParam

Parameter

Mandatory

Type

Description

name

No

String

Parameter field name.

value

No

String

Parameter field value.

limits

No

Array of LimitsParam objects

Restrictions on enumeration parameters.

Table 5 LimitsParam

Parameter

Mandatory

Type

Description

disable

No

String

Whether the configuration takes effect. The default value is 0, indicating that the configuration takes effect.

display_name

No

String

Parameter display name.

name

No

String

Parameter name.

Table 6 UpdateBuildJobScm

Parameter

Mandatory

Type

Description

branch

No

String

Branch.

url

Yes

String

Code repository address.

repo_id

No

String

Repo ID.

web_url

No

String

HTTP address of the code repository.

scm_type

Yes

String

Repository type, such as Repo and GitHub.

is_auto_build

No

Boolean

Whether to enable auto build.

build_type

No

String

Build type.

depth

No

String

Clone depth.

end_point_id

No

String

endpointId

source

No

String

source

Table 7 UpdateBuildJobSteps

Parameter

Mandatory

Type

Description

properties

No

Map<String,Object>

Build action.

module_id

Yes

String

Build module ID.

name

Yes

String

Build module name.

version

No

String

Build version.

enable

No

Boolean

Enable or not.

Response Parameters

Status code: 200

Table 8 Response body parameters

Parameter

Type

Description

result

result object

Result.

status

String

Status information.

error

String

Error message.

Table 9 result

Parameter

Type

Description

job_id

String

Build task ID.

Status code: 400

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 401

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 403

Table 12 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 404

Table 13 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Status code: 500

Table 14 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Example Requests

POST https://{endpoint}/v3/jobs/update

{
  "job_id" : "db8467d972cc47f7a1bd2a3a3e77596a",
  "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.cn-north-7.ulanqab.huawei.com:soso-test00001/an.git",
    "repo_id" : "2111746211",
    "web_url" : "https://codehub.devcloud.cn-north-7.ulanqab.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
126
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 UpdateBuildJobSolution {

    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();
        UpdateBuildJobRequest request = new UpdateBuildJobRequest();
        UpdateBuildJobRequestBody body = new UpdateBuildJobRequestBody();
        List<UpdateBuildJobSteps> listbodySteps = new ArrayList<>();
        listbodySteps.add(
            new UpdateBuildJobSteps()
                .withModuleId("devcloud2018.codeci_action_20043.action")
                .withName("Build with Maven")
                .withVersion("20231001.6")
                .withEnable(true)
        );
        List<UpdateBuildJobScm> listbodyScms = new ArrayList<>();
        listbodyScms.add(
            new UpdateBuildJobScm()
                .withBranch("master")
                .withUrl("git@codehub.devcloud.cn-north-7.ulanqab.huawei.com:soso-test00001/an.git")
                .withRepoId("2111746211")
                .withWebUrl("https://codehub.devcloud.cn-north-7.ulanqab.huawei.com/codehub/2111746211/home")
                .withScmType("codehub")
                .withIsAutoBuild(false)
                .withBuildType("branch")
                .withDepth("1")
        );
        List<UpdateBuildJobParameterParam> listParametersParams = new ArrayList<>();
        listParametersParams.add(
            new UpdateBuildJobParameterParam()
                .withName("name")
                .withValue("codeBranch")
        );
        listParametersParams.add(
            new UpdateBuildJobParameterParam()
                .withName("type")
                .withValue("normalparam")
        );
        listParametersParams.add(
            new UpdateBuildJobParameterParam()
                .withName("defaultValue")
                .withValue("master")
        );
        listParametersParams.add(
            new UpdateBuildJobParameterParam()
                .withName("description")
                .withValue("description")
        );
        listParametersParams.add(
            new UpdateBuildJobParameterParam()
                .withName("deletion")
                .withValue("false")
        );
        listParametersParams.add(
            new UpdateBuildJobParameterParam()
                .withName("defaults")
                .withValue("true")
        );
        listParametersParams.add(
            new UpdateBuildJobParameterParam()
                .withName("staticVar")
                .withValue("false")
        );
        listParametersParams.add(
            new UpdateBuildJobParameterParam()
                .withName("sensitiveVar")
                .withValue("false")
        );
        List<UpdateBuildJobParameter> listbodyParameters = new ArrayList<>();
        listbodyParameters.add(
            new UpdateBuildJobParameter()
                .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.withJobId("db8467d972cc47f7a1bd2a3a3e77596a");
        body.withJobName("examplejob");
        body.withProjectId("a287e712be6c404ca26e5f69040fa12b");
        body.withArch("x86-64");
        request.withBody(body);
        try {
            UpdateBuildJobResponse response = client.updateBuildJob(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

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 = __import__('os').getenv("CLOUD_SDK_AK")
    sk = __import__('os').getenv("CLOUD_SDK_SK")

    credentials = BasicCredentials(ak, sk) \

    client = CodeArtsBuildClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(CodeArtsBuildRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = UpdateBuildJobRequest()
        listStepsbody = [
            UpdateBuildJobSteps(
                module_id="devcloud2018.codeci_action_20043.action",
                name="Build with Maven",
                version="20231001.6",
                enable=True
            )
        ]
        listScmsbody = [
            UpdateBuildJobScm(
                branch="master",
                url="git@codehub.devcloud.cn-north-7.ulanqab.huawei.com:soso-test00001/an.git",
                repo_id="2111746211",
                web_url="https://codehub.devcloud.cn-north-7.ulanqab.huawei.com/codehub/2111746211/home",
                scm_type="codehub",
                is_auto_build=False,
                build_type="branch",
                depth="1"
            )
        ]
        listParamsParameters = [
            UpdateBuildJobParameterParam(
                name="name",
                value="codeBranch"
            ),
            UpdateBuildJobParameterParam(
                name="type",
                value="normalparam"
            ),
            UpdateBuildJobParameterParam(
                name="defaultValue",
                value="master"
            ),
            UpdateBuildJobParameterParam(
                name="description",
                value="description"
            ),
            UpdateBuildJobParameterParam(
                name="deletion",
                value="false"
            ),
            UpdateBuildJobParameterParam(
                name="defaults",
                value="true"
            ),
            UpdateBuildJobParameterParam(
                name="staticVar",
                value="false"
            ),
            UpdateBuildJobParameterParam(
                name="sensitiveVar",
                value="false"
            )
        ]
        listParametersbody = [
            UpdateBuildJobParameter(
                name="hudson.model.StringParameterDefinition",
                params=listParamsParameters
            )
        ]
        request.body = UpdateBuildJobRequestBody(
            host_type="devcloud",
            steps=listStepsbody,
            scms=listScmsbody,
            parameters=listParametersbody,
            flavor="2u8g",
            auto_update_sub_module="false",
            job_id="db8467d972cc47f7a1bd2a3a3e77596a",
            job_name="examplejob",
            project_id="a287e712be6c404ca26e5f69040fa12b",
            arch="x86-64"
        )
        response = client.update_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
135
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.UpdateBuildJobRequest{}
	versionSteps:= "20231001.6"
	enableSteps:= true
	var listStepsbody = []model.UpdateBuildJobSteps{
        {
            ModuleId: "devcloud2018.codeci_action_20043.action",
            Name: "Build with Maven",
            Version: &versionSteps,
            Enable: &enableSteps,
        },
    }
	branchScms:= "master"
	repoIdScms:= "2111746211"
	webUrlScms:= "https://codehub.devcloud.cn-north-7.ulanqab.huawei.com/codehub/2111746211/home"
	isAutoBuildScms:= false
	buildTypeScms:= "branch"
	depthScms:= "1"
	var listScmsbody = []model.UpdateBuildJobScm{
        {
            Branch: &branchScms,
            Url: "git@codehub.devcloud.cn-north-7.ulanqab.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.UpdateBuildJobParameterParam{
        {
            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.UpdateBuildJobParameter{
        {
            Name: &nameParameters,
            Params: &listParamsParameters,
        },
    }
	hostTypeUpdateBuildJobRequestBody:= "devcloud"
	flavorUpdateBuildJobRequestBody:= "2u8g"
	autoUpdateSubModuleUpdateBuildJobRequestBody:= "false"
	request.Body = &model.UpdateBuildJobRequestBody{
		HostType: &hostTypeUpdateBuildJobRequestBody,
		Steps: listStepsbody,
		Scms: &listScmsbody,
		Parameters: &listParametersbody,
		Flavor: &flavorUpdateBuildJobRequestBody,
		AutoUpdateSubModule: &autoUpdateSubModuleUpdateBuildJobRequestBody,
		JobId: "db8467d972cc47f7a1bd2a3a3e77596a",
		JobName: "examplejob",
		ProjectId: "a287e712be6c404ca26e5f69040fa12b",
		Arch: "x86-64",
	}
	response, err := client.UpdateBuildJob(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.