
# 创建或执行任务 - ExecuteTask
#### 功能介绍
根据taskPolicy，创建功能自动化任务模板，或者直接提交执行自动化任务
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-testman/cloudtest_03_2000.html)。
#### URI
POST /v3/task/execution
#### 请求参数
表1请求Header参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| X-Auth-Token  | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 必传。 **取值范围：** 字符串长度不少于1，不超过10万。 **默认取值：** 不涉及。 |
| x-auth-groups | 是    | String | **参数解释** 项目id **约束限制** 不涉及 **取值范围** 字符串长度不少于1，不超过100000 **默认取值** 不涉及 **获取方式** 从 GET /rest/me 的返回结果中对应的id字段获取。              |
   
表2请求Body参数 
| 参数                    | 是否必选 | 参数类型                                                            | 描述                                                                                                                |
|:---|:---|:---|:---|
| taskName              | 否    | String                                                          | 任务名称                                                                                                              |
| executeType           | 否    | String                                                          | 执行类型                                                                                                              |
| testType              | 否    | String                                                          | 测试类型：regression - 回归                                                                                              |
| exeParam              | 否    | String                                                          | 执行参数                                                                                                              |
| exe_param_overridable | 否    | Boolean                                                         | 执行参数是否可重写                                                                                                         |
| envSystem             | 否    | String                                                          | 环境字段                                                                                                              |
| envDetails            | 否    | String                                                          | 环境详情                                                                                                              |
| resourceType          | 否    | String                                                          | 资源类型："TestVersion" - 测试版本，"TestItem" - 测试项，"TaskFolder" - 任务目录，"TestCase" - 测试用例，"Task" - 任务，"UserDefined" - 用户定义 |
| uris                  | 否    | Array of strings                                                | 资源uri列表                                                                                                           |
| ip                    | 否    | String                                                          | ip                                                                                                                |
| port                  | 否    | String                                                          | 端口                                                                                                                |
| taskPolicy            | 否    | Integer                                                         | 任务策略                                                                                                              |
| isPersonConfig        | 否    | Boolean                                                         | 是否个人配置                                                                                                            |
| sutRepoUrl            | 否    | String                                                          | 代码仓库地址                                                                                                            |
| gitUsername           | 否    | String                                                          | git用户名                                                                                                            |
| git_branch            | 否    | String                                                          | git分支                                                                                                             |
| ignoreEnv             | 否    | Boolean                                                         | 是否忽略环境                                                                                                            |
| needEnvVersion        | 否    | Boolean                                                         | 是否需要环境版本                                                                                                          |
| rgId                  | 否    | String                                                          | 区域ID                                                                                                              |
| testbeds              | 否    | Array of strings                                                | 测试床                                                                                                               |
| maxTepNum             | 否    | String                                                          | 最大执行器数                                                                                                            |
| inputHost             | 否    | String                                                          | host                                                                                                              |
| env                   | 否    | Array of strings                                                | 环境                                                                                                                |
| teps                  | 否    | Array of [teps] objects             | 执行器对象数组                                                                                                           |
| location              | 否    | String                                                          | 执行器ID                                                                                                             |
| userextendParam       | 否    | [userextendParam] object | 扩展参数                                                                                                              |
| testActivityType      | 否    | String                                                          | 测试激活类型                                                                                                            |
| branchId              | 否    | String                                                          | 分支Id                                                                                                              |
| versionName           | 否    | String                                                          | 版本名称                                                                                                              |
| versionId             | 否    | String                                                          | 版本Id                                                                                                              |
| testServiceId         | 否    | String                                                          | 测试服务人员                                                                                                            |
| maillist              | 否    | String                                                          | 邮件列表                                                                                                              |
| priority              | 否    | String                                                          | 优先级                                                                                                               |
| taskStrategy          | 否    | [taskStrategy] object       | 任务策略                                                                                                              |
| circle                | 否    | [circle] object                   | 循环执行                                                                                                              |
| author                | 否    | String                                                          | 作者                                                                                                                |
| analyser              | 否    | String                                                          | 分析人                                                                                                               |
| jenkinsId             | 否    | String                                                          | jenkinsId                                                                                                         |
| isSelectAllTeps       | 否    | Boolean                                                         | 是否选择全部执行器                                                                                                         |
| pSelect               | 否    | Array of strings                                                | 选择的执行器                                                                                                            |
| selectedTeps          | 否    | Array of strings                                                | 选择的执行器                                                                                                            |
| caseUris              | 否    | Array of strings                                                | 用例数组                                                                                                              |
| downloadScriptUrl     | 否    | String                                                          | 下载脚本地址                                                                                                            |
| taskType              | 否    | String                                                          | 任务类型：template - 任务模板，task - 任务                                                                                    |
| taskId                | 否    | String                                                          | 任务id                                                                                                              |
| childrenId            | 否    | String                                                          | 子任务Id                                                                                                             |
| pbiName               | 否    | String                                                          | PBI名称                                                                                                             |
| pbiId                 | 否    | String                                                          | PBI的ID                                                                                                            |
| tmssInfo              | 否    | [tmssInfo] object               | 测试用例信息                                                                                                            |
| taskMode              | 否    | String                                                          | 任务模型                                                                                                              |
| taskTyle              | 否    | String                                                          | 任务类型 template 表示模板;task 表示任务                                                                                      |
| serial_execution      | 否    | Boolean                                                         | 是否顺序执行                                                                                                            |
   
 表3teps 
| 参数      | 是否必选 | 参数类型   | 描述    |
|:---|:---|:---|:---|
| id      | 否    | String | 执行器ID |
| groupId | 否    | String | 执行器分组 |
   
 表4userextendParam 
| 参数                  | 是否必选 | 参数类型   | 描述       |
|:---|:---|:---|:---|
| platFromErrStrategy | 否    | String | 平台错误处理策略 |
   
 表5taskStrategy 
| 参数                           | 是否必选 | 参数类型    | 描述                                |
|:---|:---|:---|:---|
| parallelRerunCount           | 否    | String  | 并行返回数量                            |
| parallelFailedRerunCount     | 否    | String  | 并行失败返回数量                          |
| parallelBatchSize            | 否    | Integer | 并行批量大小                            |
| blockSize                    | 否    | Integer | 块大小                               |
| serialOrderField             | 否    | String  | 序列号排序字段                           |
| caseExecType                 | 否    | Integer | 用例执行类型：1 - 顺序执行，2 - 并行执行，3 - 覆盖执行 |
| extendParam                  | 否    | String  | 扩展参数                              |
| applyEnvFirst                | 否    | Boolean | 使用的第一个环境                          |
| parallelSchedulerBlockFields | 否    | String  | 并行调度器块字段                          |
   
 表6circle 
| 参数               | 是否必选 | 参数类型   | 描述                                   |
|:---|:---|:---|:---|
| startTime        | 否    | String | 开始时间                                 |
| intervalTimeUnit | 否    | String | 间隔时间                                 |
| endTime          | 否    | String | 结束时间                                 |
| timeType         | 否    | String | 时间单位："d" - 天，"h" - 时，"m" - 分，"s" - 秒 |
| intervalTime     | 否    | String | 间隔时间                                 |
   
 表7tmssInfo 
| 参数     | 是否必选 | 参数类型   | 描述                         |
|:---|:---|:---|:---|
| type   | 否    | String | 类型："CloudTMSS" - CloudTMSS |
| url    | 否    | String | 访问地址                       |
| urlvpc | 否    | String | VPC地址                      |
   
#### 响应参数
**状态码：200**
表8响应Body参数 
| 参数        | 参数类型                                           | 描述         |
|:---|:---|:---|
| result    | [result] object | 任务结果       |
| requestId | String                                         | 请求唯一标识     |
| serverIp  | String                                         | 服务端IP      |
| status    | String                                         | 状态：OK - 成功 |
   
 表9result 
| 参数 | 参数类型   | 描述   |
|:---|:---|:---|
| id | String | 任务ID |
   
**状态码：201**
Created
**状态码：401**
表10响应Body参数 
| 参数          | 参数类型   | 描述                 |
|:---|:---|:---|
| status      | String | 请求状态："failed" - 失败 |
| request_id  | String | 请求id               |
| server_ip   | String | 服务节点IP             |
| error_msg   | String | 错误信息               |
| error_code  | String | 错误码                |
| error_cause | String | 错误原因               |
| faq         | String | faq内容              |
   
**状态码：403**
表11响应Body参数 
| 参数          | 参数类型   | 描述                 |
|:---|:---|:---|
| status      | String | 请求状态："failed" - 失败 |
| request_id  | String | 请求id               |
| server_ip   | String | 服务节点IP             |
| error_msg   | String | 错误信息               |
| error_code  | String | 错误码                |
| error_cause | String | 错误原因               |
| faq         | String | faq内容              |
   
**状态码：404**
表12响应Body参数 
| 参数          | 参数类型   | 描述                 |
|:---|:---|:---|
| status      | String | 请求状态："failed" - 失败 |
| request_id  | String | 请求id               |
| server_ip   | String | 服务节点IP             |
| error_msg   | String | 错误信息               |
| error_code  | String | 错误码                |
| error_cause | String | 错误原因               |
| faq         | String | faq内容              |
   
#### 请求示例
```
post https://{endpoint}/v3/task/execution
{
  "taskName" : "xxxx",
  "executeType" : "6",
  "testType" : "regression",
  "exeParam" : "",
  "exe_param_overridable" : false,
  "envSystem" : "",
  "envDetails" : "",
  "resourceType" : "TestCase",
  "uris" : [ "v92n10g2nkgf0v3j" ],
  "ip" : "",
  "port" : "",
  "taskPolicy" : 3,
  "isPersonConfig" : false,
  "sutRepoUrl" : "",
  "gitUsername" : "",
  "git_branch" : "",
  "ignoreEnv" : false,
  "needEnvVersion" : false,
  "rgId" : "",
  "testbeds" : [ ],
  "maxTepNum" : "",
  "inputHost" : "",
  "env" : [ ],
  "teps" : [ {
    "id" : "tep_agaent",
    "groupId" : "tep_agaent"
  } ],
  "location" : "",
  "userextendParam" : {
    "platFromErrStrategy" : "no"
  },
  "testActivityType" : "",
  "branchId" : "v9050000tqu3e7e2",
  "versionName" : "用例库",
  "versionId" : "v9050000tqu3e7e2",
  "testServiceId" : "c2d63f9d3af34177ab62545d841c78d7",
  "maillist" : "",
  "priority" : "",
  "taskStrategy" : {
    "parallelRerunCount" : "",
    "parallelFailedRerunCount" : "",
    "parallelBatchSize" : 2500,
    "blockSize" : 9,
    "caseExecType" : 2,
    "applyEnvFirst" : false,
    "parallelSchedulerBlockFields" : "exeplatform,envType,mapRestrict"
  },
  "circle" : {
    "startTime" : "",
    "intervalTimeUnit" : "h",
    "endTime" : "",
    "timeType" : "0",
    "intervalTime" : "0"
  },
  "author" : "efdb403066474ab08836b9eeaaa23bca",
  "analyser" : "efdb403066474ab08836b9eeaaa23bca",
  "jenkinsId" : "",
  "isSelectAllTeps" : false,
  "pSelect" : [ "tep_agaent" ],
  "selectedTeps" : [ "tep_agaent" ],
  "caseUris" : [ "v92n10g2nkgf0v3j" ],
  "downloadScriptUrl" : "{\"downloadScriptUrl\":{\"api_host\":\"apigw.huawei.com\"}}",
  "taskType" : "task",
  "taskId" : "2587542699280171008",
  "childrenId" : "2587542699280171008",
  "pbiName" : "",
  "pbiId" : "",
  "tmssInfo" : {
    "type" : "CloudTMSS",
    "url" : { },
    "urlvpc" : ""
  },
  "taskMode" : "2+1",
  "taskTyle" : "task",
  "serial_execution" : false
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "result" : {
    "id" : "2587542699280171008"
  },
  "requestId" : "",
  "serverIp" : "",
  "status" : "OK"
}
```
**状态码：401**
Unauthorized
```
{
  "error_code" : "DEV.00000003",
  "error_msg" : "认证信息过期"
}
```
#### 状态码
| 状态码 | 描述           |
|:---|:---|
| 200 | OK           |
| 201 | Created      |
| 401 | Unauthorized |
| 403 | Forbidden    |
| 404 | Not Found    |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-testman/ErrorCode.html)。
