# 查询字段列表 - ListIpdProjectFields
#### 功能介绍
分页查询字段列表，关键字搜索支持标题、字段类型、创建人搜索。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-projectman/projectman_api_1002.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-projectman/projectman_03_Permission.html)。
| 授权项                            | 访问级别 | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| codeartsreq:configuration:list | List | -           | - codeartsreq:Model   - codeartsreq:ProjectId    | -  | -      |
   
#### URI
GET /v1/ipdprojectservice/projects/{project_id}/fields
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目32位ID，项目唯一标识。通过[查询IPD项目列表](https://support.huaweicloud.com/api-projectman/ShowIpdProjectList.html)获取，响应消息体中的**id**字段的值就是项目ID。 **约束限制**： 不涉及。 **取值范围**： 32个字符，由英文字母和数字组成。 **默认取值**： 不涉及。 |
   
表2Query参数 
| 参数      | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| 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 | **参数解释**： 字段列表。                                                                                                                                                            |
   
 表4FieldListResult 
| 参数    | 参数类型                                                                        | 描述                                                                                                                                                       |
|:---|:---|:---|
| data  | Array of [FieldEntity] objects | **参数解释**： 字段列表。                                                                                                  |
| total | Integer                                                                     | **参数解释**： 项目内字段总数。 **取值范围**： 不涉及 |
   
 表5FieldEntity 
| 参数              | 参数类型                                                                          | 描述                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| 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 | **参数解释**： 字段选项。                                                                                                                                                                                                             |
   
 表6OptionEntity 
| 参数            | 参数类型    | 描述                                                                                                                                                                                      |
|:---|:---|:---|
| 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
  }
}
```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-projectman/ErrorCode.html)。
