
# 新增测试套任务 - AddTask
#### 功能介绍
此接口用于新增测试套任务，同页面 测试 -\> 测试执行 -\> 右侧上方筛选分支，点击新建套件
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-testman/cloudtest_03_2000.html)。
#### URI
POST /v4/{project_id}/tasks
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**: 项目UUID，项目唯一标识，固定长度32位字符（字母和数字）。获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-testman/cloudtest_03_4003.html) **约束限制**: 字符串类型，长度32位字符 **取值范围**: 项目uuid应符合如下规则：长度等于32位，包含大小写字母、数字 **默认取值**: 不涉及 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 必传。 **取值范围：** 字符串长度不少于1，不超过10万。 **默认取值：** 不涉及。 |
   
表3请求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 | **参数解释** 自定义字段的更新记录 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                |
   
 表4CaseOperationInfo 
| 参数                   | 是否必选 | 参数类型                                                                | 描述                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| 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 | **参数解释** 后置用例关联信息 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及        |
   
 表5AssignCaseInfo 
| 参数           | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| case_uri     | 否    | String  | **参数解释** 用例uri **约束限制** 不涉及 **取值范围** 11-34位字母/数字 **默认取值** 不涉及   |
| is_available | 否    | Integer | **参数解释** 是否可用 **约束限制** 不涉及 **取值范围** true:是 false:否 **默认取值** 不涉及 |
   
 表6ResourceChangeInfo 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| field_name | 否    | String | **参数解释** 字段名称 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及    |
| old_value  | 否    | String | **参数解释** 旧的value **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及 |
| new_value  | 否    | String | **参数解释** 新的value **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及 |
| old_key    | 否    | String | **参数解释** 旧的key **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及   |
| new_key    | 否    | String | **参数解释** 新的key **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及   |
   
#### 响应参数
**状态码：200**
表7响应Body参数 
| 参数    | 参数类型   | 描述                                                                                                             |
|:---|:---|:---|
| value | String | **参数解释** 请求返回的数据 **取值范围** 不涉及 |
   
**状态码：400**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                  |
|:---|:---|:---|
| error_code | String | **参数解释**: 接口调用失败错误码 **取值范围**: 不涉及  |
| error_msg  | String | **参数解释**: 接口调用失败错误信息 **取值范围**: 不涉及 |
   
**状态码：401**
表9响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                  |
|:---|:---|:---|
| error_code | String | **参数解释**: 接口调用失败错误码 **取值范围**: 不涉及  |
| error_msg  | String | **参数解释**: 接口调用失败错误信息 **取值范围**: 不涉及 |
   
**状态码：404**
表10响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                  |
|:---|:---|:---|
| error_code | String | **参数解释**: 接口调用失败错误码 **取值范围**: 不涉及  |
| error_msg  | String | **参数解释**: 接口调用失败错误信息 **取值范围**: 不涉及 |
   
**状态码：500**
表11响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                  |
|:---|:---|:---|
| error_code | String | **参数解释**: 接口调用失败错误码 **取值范围**: 不涉及  |
| error_msg  | String | **参数解释**: 接口调用失败错误信息 **取值范围**: 不涉及 |
   
#### 请求示例
新增测试套任务
```
post https://{endpoint}/v4/300c6295a54c4c698608c878f47ddd59/tasks
{
  "name" : "testsuite01",
  "service_type" : 0,
  "number" : "",
  "description" : "",
  "case_operation_info" : {
    "set_up_cases_info" : [ ],
    "tear_down_cases_info" : [ ],
    "test_cases_info" : [ ]
  },
  "tags" : [ ],
  "module_id" : "",
  "module_name" : "",
  "execute_way" : 1,
  "ext_param" : "{}",
  "release_dev" : "",
  "version_uri" : "v91j0000vldleodb",
  "plan_start_timestamp" : null,
  "plan_end_timestamp" : null
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "value" : "v91k0000vrpia8j3"
}
```
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK                    |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 404 | Not Found             |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-testman/ErrorCode.html)。
