
# 更新项目模型配置 - UpdateProjectModelConfig
#### 功能介绍
此接口用于更新项目模型配置
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-testman/cloudtest_03_2000.html)。
#### URI
PUT /v4/projects/{project_id}/model-config
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                  |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目UUID，项目唯一标识，固定长度32位字符（字母和数字）。获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-testman/cloudtest_03_4003.html)。 |
   
#### 请求参数
表2请求Body参数 
| 参数                         | 是否必选 | 参数类型                                                                                     | 描述            |
|:---|:---|:---|:---|
| project_id                 | 否    | String                                                                                   | 项目ID          |
| feature_page_link_template | 否    | String                                                                                   | 工作项功能页面跳转链接模板 |
| categories                 | 否    | Array of [CategoryConfigVo] objects | 工作项属性列表       |
| category_layer_config      | 否    | Array of [CategoryLayerVo] objects   | 工作项层级树        |
   
 表3CategoryConfigVo 
| 参数              | 是否必选 | 参数类型    | 描述        |
|:---|:---|:---|:---|
| code            | 否    | String  | 工作项code值  |
| prefix          | 否    | String  | 工作项前缀值    |
| enabled         | 否    | String  | 是否启用      |
| created_by      | 否    | String  | 创建人       |
| created_date    | 否    | String  | 创建时间      |
| modified_by     | 否    | String  | 修改人       |
| modified_date   | 否    | Integer | 修改时间      |
| domain_id       | 否    | String  | 工作项domain |
| icon            | 否    | String  | 工作项图标展示值  |
| color           | 否    | String  | 工作项图标颜色   |
| description     | 否    | String  | 工作项描述信息   |
| display_name    | 否    | String  | 工作项展示名    |
| definition_type | 否    | String  | 工作项定义类型   |
| type_id         | 否    | String  | 工作项类型id   |
| tenant_id       | 否    | String  | 租户id      |
| region          | 否    | String  | 区域        |
| id              | 否    | String  | 工作项id     |
   
 表4CategoryLayerVo 
| 参数            | 是否必选 | 参数类型                                                                     | 描述                                            |
|:---|:---|:---|:---|
| code          | 否    | String                                                                   | 工作项code值                                      |
| path          | 否    | String                                                                   | 工作项子树路径                                       |
| root_id       | 否    | String                                                                   | 工作项树顶层节点id                                    |
| children      | 否    | Array of [children] objects | 工作项树子树信息                                      |
| parent_id     | 否    | String                                                                   | 工作项树子树信息                                      |
| id            | 否    | String                                                                   | 工作项节点id                                       |
| category_code | 否    | String                                                                   | 工作项code值                                      |
| display_name  | 否    | String                                                                   | 工作项展示名                                        |
| test_able     | 否    | Boolean                                                                  | 是否可测试，默认为true。为false时，需求不可关联用例、测试计划           |
| display       | 否    | Boolean                                                                  | 是否展示，默认为true。当此需求或此需求的子孙节点可展示时，此需求可展示；反之则不可展示 |
   
 表5children 
| 参数            | 是否必选 | 参数类型             | 描述                                            |
|:---|:---|:---|:---|
| code          | 否    | String           | 子树工作项code值                                    |
| path          | 否    | String           | 子树工作项子树路径                                     |
| root_id       | 否    | String           | 子树工作项树顶层节点id                                  |
| children      | 否    | Array of strings | 工作项树子树信息                                      |
| parent_id     | 否    | String           | 工作项树子树信息                                      |
| id            | 否    | String           | 工作项节点id                                       |
| category_code | 否    | String           | 工作项code值                                      |
| display_name  | 否    | String           | 工作项展示名                                        |
| test_able     | 否    | Boolean          | 是否可测试，默认为true。为false时，需求不可关联用例、测试计划           |
| display       | 否    | Boolean          | 是否展示，默认为true。当此需求或此需求的子孙节点可展示时，此需求可展示；反之则不可展示 |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数        | 参数类型    | 描述                           |
|:---|:---|:---|
| total     | Integer | 起始记录数 大于 实际总条数时，值为0，分页请求才有此值 |
| value     | String  | 实际的数据类型：单个对象，集合 或 NULL       |
| reason    | String  | 业务失败的提示内容                    |
| page_size | Integer | 分页大小                         |
| page_no   | Integer | 分页编码                         |
| has_more  | Boolean | 是否有更多                        |
   
**状态码：400**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                   |
|:---|:---|:---|
| error_code | String | **参数解释** 接口调用失败错误码 **取值范围** 不涉及  |
| error_msg  | String | **参数解释** 接口调用失败错误信息 **取值范围** 不涉及 |
   
**状态码：500**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                   |
|:---|:---|:---|
| error_code | String | **参数解释** 接口调用失败错误码 **取值范围** 不涉及  |
| error_msg  | String | **参数解释** 接口调用失败错误信息 **取值范围** 不涉及 |
   
#### 请求示例
更新项目模型配置
```
PUT https://{endpoint}/v4/projects/{project_id}/model-config
{
  "project_id" : "73ad9ecbf32f44928b51a5d2c96720b8",
  "feature_page_link_template" : "https://127.0.0.1:8080/ipdproject/openapi/v1/projects/73ad9ecbf32f44928b51a5d2c96720b8/work/redirect?issue_id={issue_id}",
  "categories" : [ {
    "code" : "SR",
    "prefix" : "FR",
    "enabled" : "1",
    "icon" : "IR",
    "color" : "#F66F6A",
    "description" : "原始需求",
    "display_name" : "研发需求",
    "definition_type" : "1",
    "type_id" : "10026"
  } ],
  "category_layer_config" : [ {
    "code" : "3c1a0e54cac34a1b831cbb2706e77dd8",
    "path" : "/1173326082484023299/1173326082484023300",
    "root_id" : "1173326082484023299",
    "id" : "1173326082484023300",
    "parent_id" : "1173326082484023299",
    "category_code" : "DR",
    "display_name" : "研发需求",
    "test_able" : true,
    "display" : true,
    "children" : [ ]
  } ]
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "value" : "更新成功",
  "reason" : ""
}
```
**状态码：400**
Bad Request
```
{
  "error_code" : "CLOUDTEST.00000001",
  "error_msg" : "返回的错误信息"
}
```
**状态码：500**
Internal Server Error
```
{
  "error_code" : "CLOUDTEST.00000001",
  "error_msg" : "返回的错误信息"
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK                    |
| 400 | Bad Request           |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-testman/ErrorCode.html)。
