
# 批量创建测试套测试用例关联关系 - CreateTaskRelations
#### 功能介绍
此接口用于创建测试套测试用例关联关系，同页面 测试 -\> 测试执行 -\> 右侧点击测试套，进入详情页 -\> 选择用例，点击关联已有缺陷
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-testman/cloudtest_03_2000.html)。
#### URI
POST /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 | **参数解释** 请求返回的数据 **取值范围** 不涉及 |
   
**状态码：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 | **参数解释**: 接口调用失败错误信息 **取值范围**: 不涉及 |
   
#### 请求示例
```
post https://{endpoint}/v5/2e8b14eb90d54b6c9bc4c0b5cde1f449/tasks
{
  "uri" : "uri",
  "name" : "名称01",
  "stage" : "alpha",
  "number" : "编号01",
  "tags" : "8fkjjddioebjld,qoiw4jnkhfts",
  "description" : "描述",
  "region" : "cn-north-7",
  "version_uri" : "912312pbu6aaf",
  "owner_id" : "efdb403066474ab08836b9eaa23bca",
  "parent_uri" : "00rt40cvpkq",
  "test_case_condition" : "[{\"fieldName\":\"autoType\",\"fieldValue\":\"0\",\"operator\":\"=\"}]",
  "service_type" : 0,
  "module_id" : "hyuiugifdso",
  "module_name" : "模块01",
  "release_dev" : "版本号01",
  "status_code" : 0,
  "ext_param" : "扩展参数",
  "execute_way" : 1,
  "execute_type" : 1,
  "plan_start_timestamp" : 1660617231016,
  "plan_end_timestamp" : 1660617261016,
  "assign_case_uris" : [ "a3wd74aw841daw", "unrgcj2g8kzs" ],
  "case_operation_info" : { },
  "only_update_status" : true,
  "is_async" : true,
  "changes" : [ { } ]
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "value" : "1b7179edc79a431f9711434124ac9f28v90200010sf419rg"
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK                    |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 404 | Not Found             |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-testman/ErrorCode.html)。
