Help Center> CodeArts Deploy> API Reference> APIs> Managing Applications> Obtaining an Application List (Recommended)
Updated on 2024-07-05 GMT+08:00

Obtaining an Application List (Recommended)

Function

This API is used to query an application list in a project.

Calling Method

For details, see Calling APIs.

URI

POST /v1/applications/list

Request Parameters

Table 1 Request header parameters

Parameter

Mandatory

Type

Description

Content-Type

Yes

String

Message body type (format). Possible values: application/json;charset=utf-8 application/json

Default: application/json;charset=utf-8

Enumeration values:

  • application/json;charset=utf-8

  • application/json

X-Auth-Token

Yes

String

User token. It can be obtained by calling an IAM API. The value of X-Subject-Token in the response header is the user token.

Minimum: 0

Maximum: 20000

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID

Minimum: 32

Maximum: 32

page

Yes

Integer

Page number, indicating that the query starts from this page. The value of page is no less than 1.

size

Yes

Integer

Number of items displayed on each page. The value of size is no more than 100.

sort_name

No

String

Name of the sorting field. Currently, only name and startTime are supported.

Enumeration values:

  • name

  • startTime

sort_by

No

String

Sorting sequence: ascending order (ASC) and descending order (DESC).

states

No

Array of strings

Application status list. The following statuses can be queried: abort, failed, not_started, pending, running, succeeded, timeout, and not_executed.

Enumeration values:

  • abort

  • failed

  • not_started

  • pending

  • running

  • succeeded

  • timeout

  • not_executed

group_id

No

String

Application group ID. Enter no_grouped to query ungrouped applications.

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

total_num

Integer

Total number

result

Array of AppExecutionInfo objects

Application list array

Table 4 AppExecutionInfo

Parameter

Type

Description

id

String

Application ID

name

String

Application name

Minimum: 3

Maximum: 128

duration

String

Deployment time

is_disable

Boolean

Whether the application is disabled

project_id

String

Project ID. For details, see Obtaining a Project ID.

project_name

String

Project name

Minimum: 3

Maximum: 128

is_care

Boolean

Whether you have favorited the application

can_modify

Boolean

Whether you have the edit permission

can_delete

Boolean

Whether you have the delete permission

can_view

Boolean

Whether you have the view permission

can_execute

Boolean

Whether you have the deploy permission

can_copy

Boolean

Whether you have the clone permission

can_manage

Boolean

Whether you have permission to edit the application permission matrix

can_create_env

Boolean

Whether you have the permission to create environments

can_disable

Boolean

Whether you have permission to disable applications

deploy_system

String

Deployment type. Options: deployTemplate, ansible, and shell.

create_user_id

String

ID of the application creator

create_tenant_id

String

Tenant ID of the application creator

create_time

String

Creation time

Minimum: 3

Maximum: 128

update_time

String

Modification time

Minimum: 3

Maximum: 128

execution_time

String

Last deployment time

Minimum: 3

Maximum: 128

end_time

String

Deployment end time

execution_state

String

Deployment status

release_id

Integer

Deployment record sequence number

executor_id

String

Deployer ID

executor_nick_name

String

Deployer name

arrange_infos

Array of TaskBaseResponseBody objects

Deployment task information

Table 5 TaskBaseResponseBody

Parameter

Type

Description

id

String

Deployment task ID

state

String

Deployment task status

deploy_system

String

Deployment task type

Example Requests

This API is used to obtain an application list.

https://{endpoint}/v1/applications/list

{
  "project_id" : "6039d4480efc4dddb178abff98719913",
  "page" : 1,
  "size" : 10
}

Example Responses

Status code: 200

OK: The request is successful.

{
  "result" : [ {
    "id" : "cb439d016d8641c8a44c177a121fad15",
    "name" : "Test",
    "duration" : "00:00:17",
    "is_disable" : true,
    "project_id" : "1ff8aa6dda4643bd9cbdbb588fb24bde",
    "project_name" : "Project 1",
    "is_care" : false,
    "can_modify" : true,
    "can_delete" : true,
    "can_view" : true,
    "can_execute" : true,
    "can_copy" : true,
    "can_manage" : false,
    "can_create_env" : false,
    "can_disable" : false,
    "create_user_id" : "04ec4661a8df4359b50980a9c958c86d",
    "create_tenant_id" : "208fbb09068e4820b9209ef9ff4da73d",
    "create_time" : "2023-07-05 20:34:40.0",
    "update_time" : "2023-08-02 14:20:30.0",
    "execution_time" : "2023-08-18 09:40:16",
    "end_time" : "2023-08-18 09:40:33",
    "execution_state" : "failed",
    "release_id" : 4,
    "executor_id" : "6baa7454109d47c192f22078fe6cda20",
    "executor_nick_name" : "Test Account",
    "arrange_infos" : [ {
      "id" : "e700f15965694253940502911220d76b",
      "state" : "failed",
      "deploy_system" : "deployTemplate"
    } ]
  } ],
  "total_num" : 1
}

SDK Sample Code

The SDK sample code is as follows.

Java

This API is used to obtain an application list.

 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
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.codeartsdeploy.v2.region.CodeArtsDeployRegion;
import com.huaweicloud.sdk.codeartsdeploy.v2.*;
import com.huaweicloud.sdk.codeartsdeploy.v2.model.*;


public class ListAllAppSolution {

    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);

        CodeArtsDeployClient client = CodeArtsDeployClient.newBuilder()
                .withCredential(auth)
                .withRegion(CodeArtsDeployRegion.valueOf("<YOUR REGION>"))
                .build();
        ListAllAppRequest request = new ListAllAppRequest();
        ListAllAppRequestBody body = new ListAllAppRequestBody();
        body.withSize(10);
        body.withPage(1);
        body.withProjectId("6039d4480efc4dddb178abff98719913");
        request.withBody(body);
        try {
            ListAllAppResponse response = client.listAllApp(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());
        }
    }
}

Python

This API is used to obtain an application list.

 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
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcodeartsdeploy.v2.region.codeartsdeploy_region import CodeArtsDeployRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcodeartsdeploy.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 = CodeArtsDeployClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(CodeArtsDeployRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListAllAppRequest()
        request.body = ListAllAppRequestBody(
            size=10,
            page=1,
            project_id="6039d4480efc4dddb178abff98719913"
        )
        response = client.list_all_app(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Go

This API is used to obtain an application list.

 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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    codeartsdeploy "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsdeploy/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsdeploy/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsdeploy/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 := codeartsdeploy.NewCodeArtsDeployClient(
        codeartsdeploy.CodeArtsDeployClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListAllAppRequest{}
	request.Body = &model.ListAllAppRequestBody{
		Size: int32(10),
		Page: int32(1),
		ProjectId: "6039d4480efc4dddb178abff98719913",
	}
	response, err := client.ListAllApp(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

More

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: The request is successful.

Error Codes

See Error Codes.