文档首页/ 需求管理 CodeArts Req/ API参考/ API/ IPD字段管理/ 查询字段列表 - ListIpdProjectFields
更新时间:2026-10-22 GMT+08:00
分享

查询字段列表 - ListIpdProjectFields

功能介绍

分页查询字段列表,关键字搜索支持标题、字段类型、创建人搜索。

调用方法

请参见如何调用API。

授权信息

账号根用户具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备如下身份策略权限,更多的权限说明请参见权限和授权项。

授权项

访问级别

资源类型(*为必须)

条件键

别名

依赖的授权项

codeartsreq:configuration:list

List

-

  • codeartsreq:Model

  • codeartsreq:ProjectId

-

-

URI

GET /v1/ipdprojectservice/projects/{project_id}/fields

表1 路径参数

参数

是否必选

参数类型

描述

project_id

是

String

参数解释:

项目32位ID,项目唯一标识。通过查询IPD项目列表获取,响应消息体中的id字段的值就是项目ID。

约束限制:

不涉及。

取值范围:

32个字符,由英文字母和数字组成。

默认取值:

不涉及。

表2 Query参数

参数

是否必选

参数类型

描述

keyword

否

String

参数解释:

关键字搜索,支持标题、字段类型、创建人搜索。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

offset

否

Integer

参数解释:

分页起始,从0开始,为limit整数倍。

约束限制:

取值为limit的倍数。

取值范围:

≥ 0

默认取值:

0

limit

否

Integer

参数解释:

分页大小。

约束限制:

不涉及

取值范围:

≥ 1

默认取值:

20

请求参数

无

响应参数

状态码:200

表3 响应Body参数

参数

参数类型

描述

status

String

参数解释:

返回状态。

取值范围:

  • success:响应成功。

  • error:响应失败

message

String

参数解释:

请求失败信息。

取值范围:

不涉及

result

FieldListResult object

参数解释:

字段列表。

表4 FieldListResult

参数

参数类型

描述

data

Array of FieldEntity objects

参数解释:

字段列表。

total

Integer

参数解释:

项目内字段总数。

取值范围:

不涉及

表5 FieldEntity

参数

参数类型

描述

display_name

String

参数解释:

字段名称。

取值范围:

不涉及

code

String

参数解释:

字段code。

取值范围:

不涉及

id

String

参数解释:

字段id。

取值范围:

不涉及

description

String

参数解释:

字段描述。

取值范围:

不涉及

created_by

String

参数解释:

字段创建人名称。

取值范围:

不涉及

created_date

String

参数解释:

字段创建时间,时间戳格式,示例:1715305846000。

取值范围:

不涉及

modified_by

String

参数解释:

字段最后更新人名称。

取值范围:

不涉及

definition_type

String

参数解释:

字段级别。

取值范围:

  • 1:系统预设字段

  • 2:系统预设字段

  • 3:系统预设字段

  • 4:租户自定义字段

  • 5:项目自定义字段

field_type_name

String

参数解释:

字段类型名称。

取值范围:

不涉及

required

Boolean

参数解释:

字段在工作项中是否必填,和工作流配置不一致时以工作流为准。

取值范围:

  • true:必填

  • false:非必填

controlled

Boolean

参数解释:

字段在工作项中是否受控,修改已基线的工作项受控字段需要走变更评审流程,和工作流配置不一致时以工作流为准。

取值范围:

  • true:受控

  • false:非受控

immutable

Boolean

参数解释:

字段在工作项中是否不可修改,和工作流配置不一致时以工作流为准。

取值范围:

  • true:不可修改

  • false:可修改

no

Integer

参数解释:

字段排序的序号。

取值范围:

不涉及

all_options

Array of OptionEntity objects

参数解释:

字段选项。

support_hiding

Boolean

参数解释:

字段是否支持隐藏。

取值范围:

  • true:支持隐藏

  • false:不支持隐藏

default_value_editable

Boolean

参数解释:

字段默认值是否可编辑。

取值范围:

  • true:可编辑

  • false:不可编辑

field_id

String

参数解释:

字段ID。

取值范围:

不涉及

using_status

Boolean

参数解释:

字段是否在使用中。

取值范围:

  • true:使用中

  • false:未使用

required_editable

Boolean

参数解释:

字段是否必填可编辑。

取值范围:

  • true:可编辑

  • false:不可编辑

controlled_editable

Boolean

参数解释:

字段是否受控可编辑。

取值范围:

  • true:可编辑

  • false:不可编辑

option_source

String

参数解释:

字段选项来源。

取值范围:

不涉及

show_on_split

Boolean

参数解释:

字段是否显示在拆分中。

取值范围:

  • true:显示

  • false:不显示

show_on_filter

Boolean

参数解释:

字段是否显示在过滤中。

取值范围:

  • true:显示

  • false:不显示

show_on_edit

Boolean

参数解释:

字段是否显示在编辑中。

取值范围:

  • true:显示

  • false:不显示

show_on_table

Boolean

参数解释:

字段是否显示在表格中。

取值范围:

  • true:显示

  • false:不显示

sort_on_table

Boolean

参数解释:

字段是否在表格中排序。

取值范围:

  • true:排序

  • false:不排序

config_on_card

Boolean

参数解释:

字段是否在卡片中配置。

取值范围:

  • true:配置

  • false:不配置

card_field_seq

Integer

参数解释:

卡片字段排序序号。

取值范围:

不涉及

has_update_privilege

Boolean

参数解释:

字段是否有更新权限。

取值范围:

  • true:有权限

  • false:无权限

表6 OptionEntity

参数

参数类型

描述

id

String

参数解释:

选项id。

取值范围:

不涉及

code

String

参数解释:

选项code值。

取值范围:

不涉及

display_value

String

参数解释:

选项名称。

取值范围:

不涉及

value

String

参数解释:

选项唯一标识。

取值范围:

不涉及

level

Integer

参数解释:

选项层级。用于区分层级字段的层级深度。

取值范围:

1~4的整数,层级字段最多支持4层。

sequence

Integer

参数解释:

选项排序序号。数值越小越靠前显示。

取值范围:

0~2147483647。

parent_id

String

参数解释:

父选项ID。层级选项中指向父级选项的标识,顶级选项为空或null。

取值范围:

2~32个字符。

请求示例

根据关键字查询字段列表

GET https://{endpoint}/v1/ipdprojectservice/projects/b54914d464d1498a97d683ef198ec448/fields?offset=0&limit=1

响应示例

状态码:200

{
  "status" : "success",
  "result" : {
    "data" : [ {
      "display_name" : "小标题",
      "code" : "c7186197833374113792",
      "id" : "994277015639076864",
      "description" : "222222222222",
      "created_by" : "测试昵称",
      "created_date" : "1715305846000",
      "modified_by" : "测试昵称",
      "definition_type" : "4",
      "field_type_name" : "多行文本",
      "required" : false,
      "controlled" : false,
      "immutable" : false,
      "no" : 9999
    } ],
    "total" : 1
  }
}

SDK代码示例

SDK代码示例如下。

Java

 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.projectman.v4.region.ProjectManRegion;
import com.huaweicloud.sdk.projectman.v4.*;
import com.huaweicloud.sdk.projectman.v4.model.*;


public class ListIpdProjectFieldsSolution {

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

        ProjectManClient client = ProjectManClient.newBuilder()
                .withCredential(auth)
                .withRegion(ProjectManRegion.valueOf("<YOUR REGION>"))
                .build();
        ListIpdProjectFieldsRequest request = new ListIpdProjectFieldsRequest();
        request.withProjectId("{project_id}");
        try {
            ListIpdProjectFieldsResponse response = client.listIpdProjectFields(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

 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 huaweicloudsdkprojectman.v4.region.projectman_region import ProjectManRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkprojectman.v4 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 = ProjectManClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(ProjectManRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListIpdProjectFieldsRequest()
        request.project_id = "{project_id}"
        response = client.list_ipd_project_fields(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

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

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    projectman "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/projectman/v4"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/projectman/v4/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/projectman/v4/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, err := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        SafeBuild()

    if err != nil {
        fmt.Println(err)
        return
    }

    hcClient, err := projectman.ProjectManClientBuilder().
         WithRegion(region.ValueOf("<YOUR REGION>")).
         WithCredential(auth).
         SafeBuild()


    if err != nil {
        fmt.Println(err)
        return
    }

    client := projectman.NewProjectManClient(hcClient)

    request := &model.ListIpdProjectFieldsRequest{}
	request.ProjectId = "{project_id}"
	response, err := client.ListIpdProjectFields(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

OK

错误码

请参见错误码。

相关文档