
# 批量更新测试套测试用例关联关系 - UpdateTaskRelations
#### 功能介绍
此接口用于更新测试套测试用例关联关系，同页面 测试 -\> 测试执行 -\> 右侧展示页面，点击对应测试套，进入测试套详情页 -\> 右上角点击添加用例 -\> 选择需要关联的用例，并点击确定
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-testman/cloudtest_03_2000.html)。
#### URI
PUT /v5/{project_id}/tasks
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                 |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目UUID，项目唯一标识，固定长度32位字符（字母和数字）。获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-testman/cloudtest_03_4003.html) |
   
#### 请求参数
表2请求Body参数 
| 参数                   | 是否必选 | 参数类型                                                                                    | 描述                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| uri                  | 否    | String                                                                                  | **参数解释** 指定创建任务的uri **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                |
| name                 | 是    | String                                                                                  | **参数解释** 名称 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                        |
| stage                | 否    | String                                                                                  | **参数解释** 测试阶段 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                      |
| number               | 否    | String                                                                                  | **参数解释** 编号 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                        |
| tags                 | 否    | String                                                                                  | **参数解释** 标记id **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                      |
| description          | 否    | String                                                                                  | **参数解释** 描述 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                        |
| region               | 否    | String                                                                                  | **参数解释** 区域 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                        |
| version_uri          | 否    | String                                                                                  | **参数解释** 分支/迭代uri **约束限制** 不涉及 **取值范围** 11-34位字母/数字 **默认取值** 不涉及          |
| owner_id             | 否    | String                                                                                  | **参数解释** 处理人/责任人id **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                 |
| parent_uri           | 否    | String                                                                                  | **参数解释** 父任务uri **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                    |
| test_case_condition  | 否    | String                                                                                  | **参数解释** 动态任务用例过滤条件 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                |
| service_type         | 否    | Integer                                                                                 | **参数解释** 服务类型 **约束限制** 不涉及 **取值范围** 0:功能测试 1:接口测试 11:性能测试 **默认取值** 不涉及    |
| module_id            | 否    | String                                                                                  | **参数解释** 模块id **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                      |
| module_name          | 否    | String                                                                                  | **参数解释** 模块名称 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                      |
| release_dev          | 否    | String                                                                                  | **参数解释** 发布版本号 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                     |
| status_code          | 否    | Integer                                                                                 | **参数解释** 状态code **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                    |
| ext_param            | 否    | String                                                                                  | **参数解释** 扩展参数 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                      |
| execute_way          | 否    | Integer                                                                                 | **参数解释** 执行方式 **约束限制** 不涉及 **取值范围** 1：串行，2：并行 **默认取值** 不涉及                |
| execute_type         | 否    | Integer                                                                                 | **参数解释** 执行类型 **约束限制** 不涉及 **取值范围** （0：冒烟，1：定时） **默认取值** 不涉及              |
| plan_start_timestamp | 否    | Long                                                                                    | **参数解释** 计划开始时间戳， **约束限制** 不涉及 **取值范围** 当传入-1时，时间置为空 **默认取值** 不涉及         |
| plan_end_timestamp   | 否    | Long                                                                                    | **参数解释** 计划结束时间戳 **约束限制** 不涉及 **取值范围** 当传入-1时，时间置为空 **默认取值** 不涉及          |
| assign_case_uris     | 否    | Array of strings                                                                        | **参数解释** 任务关联用例uri数组，CloudDragon环境 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及 |
| case_operation_info  | 否    | [CaseOperationInfo] object             | **参数解释** 用例操作信息 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                    |
| only_update_status   | 否    | Boolean                                                                                 | **参数解释** 是否只需要修改测试套状态 **约束限制** 不涉及 **取值范围** true:是 false:否 **默认取值** 不涉及   |
| is_async             | 否    | Boolean                                                                                 | **参数解释** 是否异步 **约束限制** 不涉及 **取值范围** true:是 false:否 **默认取值** 不涉及           |
| changes              | 否    | Array of [ResourceChangeInfo] objects | **参数解释** 自定义字段的更新记录 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                |
   
 表3CaseOperationInfo 
| 参数                   | 是否必选 | 参数类型                                                                            | 描述                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| empty                | 否    | Boolean                                                                         | **参数解释** 是否为空 **约束限制** 不涉及 **取值范围** true:是 false:否 **默认取值** 不涉及 |
| test_cases_info      | 否    | Array of [AssignCaseInfo] objects | **参数解释** 用例关联信息 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及          |
| set_up_cases_info    | 否    | Array of [AssignCaseInfo] objects | **参数解释** 前置用例关联信息 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及        |
| tear_down_cases_info | 否    | Array of [AssignCaseInfo] objects | **参数解释** 后置用例关联信息 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及        |
   
 表4AssignCaseInfo 
| 参数           | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| case_uri     | 否    | String  | **参数解释** 用例uri **约束限制** 不涉及 **取值范围** 11-34位字母/数字 **默认取值** 不涉及   |
| is_available | 否    | Integer | **参数解释** 是否可用 **约束限制** 不涉及 **取值范围** true:是 false:否 **默认取值** 不涉及 |
   
 表5ResourceChangeInfo 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| field_name | 否    | String | **参数解释** 字段名称 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及    |
| old_value  | 否    | String | **参数解释** 旧的value **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及 |
| new_value  | 否    | String | **参数解释** 新的value **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及 |
| old_key    | 否    | String | **参数解释** 旧的key **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及   |
| new_key    | 否    | String | **参数解释** 新的key **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及   |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数     | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| value  | String | **参数解释** 请求返回的数据 **取值范围** 不涉及                                                                                                                                                                                                                                                                                                                                                                    |
| status | String | **参数解释**: 调用此接口的响应状态。 **取值范围**: - success，表示接口调用成功。   - failed，表示接口调用失败。    |
   
**状态码：400**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                      |
|:---|:---|:---|
| error_code | String | **参数解释**: 接口调用失败错误码 **取值范围**: 不涉及  |
| error_msg  | String | **参数解释**: 接口调用失败错误信息 **取值范围**: 不涉及 |
   
**状态码：401**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                      |
|:---|:---|:---|
| error_code | String | **参数解释**: 接口调用失败错误码 **取值范围**: 不涉及  |
| error_msg  | String | **参数解释**: 接口调用失败错误信息 **取值范围**: 不涉及 |
   
**状态码：404**
表9响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                      |
|:---|:---|:---|
| error_code | String | **参数解释**: 接口调用失败错误码 **取值范围**: 不涉及  |
| error_msg  | String | **参数解释**: 接口调用失败错误信息 **取值范围**: 不涉及 |
   
**状态码：500**
表10响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                      |
|:---|:---|:---|
| error_code | String | **参数解释**: 接口调用失败错误码 **取值范围**: 不涉及  |
| error_msg  | String | **参数解释**: 接口调用失败错误信息 **取值范围**: 不涉及 |
   
#### 请求示例
```
put https://{endpoint}/v5/f3087a82b44744c29a1bd69ab6ada154/tasks
{
  "uri" : "v92u00010id84o7m",
  "name" : "新任务",
  "stage" : "alpha",
  "description" : "描述"
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "value" : "7e63d38da4e94105b69c5cf88991aaae"
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK                    |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 404 | Not Found             |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-testman/ErrorCode.html)。
