Help Center/ CodeArts Pipeline/ API Reference/ API/ Extension Management/ Querying Extension Version Details
Updated on 2025-09-08 GMT+08:00

Querying Extension Version Details

Function

This API is used to query extension version details.

Calling Method

For details, see Calling APIs.

URI

GET /v1/{domain_id}/agent-plugin/detail

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

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

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

plugin_name

Yes

String

Definition:

Extension name.

Constraints:

Enter only letters, digits, hyphens (-), and underscores (_).

Value range:

1 to 50 characters.

Default value:

N/A

version

No

String

Definition:

Extension version number.

Constraints:

The value must be in the format of x.xx.xx, where x is a number ranging from 0 to 99. xx indicates the number following the dot (.). Each xx can be a one-digit or two-digit number.

Value range:

N/A

Default value:

N/A

Request Parameters

Table 3 Request header 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

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

plugin_name

String

Definition:

Extension name.

Value range:

1 to 50 characters.

display_name

String

Definition:

Displayed extension name.

Value range:

N/A

op_user

String

Definition:

User who last updated the extension.

Value range:

N/A

op_time

String

Definition:

Time when the extension was last updated.

Value range:

N/A

version

String

Definition:

Extension version number.

Value range:

N/A

unique_id

String

Definition:

Extension ID.

Value range:

The value consists of 32 characters, including digits and letters.

version_description

String

Definition:

Extension version description.

Value range:

The value consists of 32 characters, including digits and letters.

version_attribution

String

Definition:

Extension version attribute.

Value range:

- draft: draft version.

- formal: formal version.

plugin_composition_type

String

Definition:

Whether the extension consists of multiple steps.

Value range:

  • multi: multi-step extension.

  • single: single-step extension.

plugin_attribution

String

Definition:

Extension attribute.

Value range:

  • custom: custom extension.

  • official: official extension.

  • published: extension published by the publisher.

input_info

Array of input_info objects

Definition:

Details of the extension input item.

Value range:

N/A

plugin_execution

PluginExecutionVO object

Definition:

Execution script information of the extension.

Value range:

N/A

runtime_attribution

String

Definition:

Running attribute.

Value range:

  • agent: Pipeline agent is required for running.

  • agentLess: No pipeline agent is required.

Table 5 input_info

Parameter

Type

Description

unique_id

String

Definition:

ID of the extension input item.

Value range:

N/A

name

String

Definition:

Name of the extension input item.

Value range:

N/A

default_value

String

Definition:

Default value of the extension input item.

Value range:

N/A

plugin_name

String

Definition:

Extension name.

Value range:

N/A

version

String

Definition:

Extension version number.

Value range:

N/A

type

String

Definition:

Type of the extension input item.

Value range:

N/A

workspace_id

String

Definition:

Tenant ID.

Value range:

The value consists of 32 characters, including digits and letters.

validation

ExtensionValidation object

Definition:

Validation information of the extension input item.

Value range:

N/A

layout_content

String

Definition:

Style information of the extension input item.

Value range:

N/A

Table 6 ExtensionValidation

Parameter

Type

Description

required_message

String

Definition:

Message displayed when the extension input item is mandatory but is not set.

Value range:

N/A

regex

String

Definition:

Regular expression used to verify the extension input value.

Value range:

N/A

regex_message

String

Definition:

Message displayed when the value of an extension input item does not meet the regular expression requirement.

Value range:

N/A

max_length

Integer

Definition:

Maximum length of an extension input value.

Value range:

N/A

min_length

Integer

Definition:

Minimum length of an extension input value.

Value range:

N/A

Table 7 PluginExecutionVO

Parameter

Type

Description

type

String

Definition:

Script type of the extension.

Value range:

  • Shell: Shell script.

  • Nodejs: Node.js script.

  • Java: Java script.

  • Python: Python script.

target

String

Definition:

Entry script file for extension execution.

Value range:

N/A

file_path

String

Definition:

OBS path for storing the extension.

Value range:

N/A

Status code: 400

Table 8 Response body parameters

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

GET https://{endpoint}/v1/ce8df55870164338a72d7e828a966a2a/agent-plugin/detail?plugin_name=apie_test&version=0.0.4

Example Responses

Status code: 200

OK

{
  "plugin_name" : "apie_test",
  "display_name" : "apie_test222",
  "op_user" : "devcloud_devcloud_h00485561_01",
  "op_time" : "1699358542000",
  "version" : "0.0.4",
  "unique_id" : "036d51108a0b48eeb876fb6341ee7615",
  "version_description" : "",
  "version_attribution" : "formal",
  "plugin_composition_type" : "multi",
  "plugin_attribution" : "custom",
  "input_info" : [ ],
  "plugin_execution" : {
    "logic_id" : "",
    "plugin_name" : "apie_test",
    "version" : "0.0.4",
    "basic_instance_id" : "036d51108a0b48eeb876fb6341ee7615",
    "workspace_id" : "ce8df55870164338a72d7e828a966a2a",
    "execution_type" : "COMPOSITE",
    "steps" : [ {
      "name" : "Executing the Shell",
      "task" : "official_shell_plugin",
      "variables" : {
        "OFFICIAL_SHELL_SCRIPT_INPUT" : "env"
      }
    } ]
  },
  "runtime_attribution" : "agent"
}

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
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 ShowPluginVersionSolution {

    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();
        ShowPluginVersionRequest request = new ShowPluginVersionRequest();
        request.withDomainId("{domain_id}");
        try {
            ShowPluginVersionResponse response = client.showPluginVersion(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
# 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 = ShowPluginVersionRequest()
        request.domain_id = "{domain_id}"
        response = client.show_plugin_version(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
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.ShowPluginVersionRequest{}
	request.DomainId = "{domain_id}"
	response, err := client.ShowPluginVersion(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.