
# 脚本自动生成测试套接口 - CreateTestSuiteByInitAuto
#### 功能介绍
自动创建流水线时从codehub获取yaml脚本自动生成测试套接口
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-testman/cloudtest_03_2000.html)。
#### URI
POST /v1/automatic/{project_id}/testsuite
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**: 项目UUID，项目唯一标识，固定长度32位字符（字母和数字）。获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-testman/cloudtest_03_4003.html) **约束限制**: 不涉及 **取值范围**: 项目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参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                           |
|:---|:---|:---|:---|
| repo_id     | 否    | String | **参数解释** 仓库id                                                                                                                   |
| repo_branch | 否    | String | **参数解释** 仓库分支 **取值范围** 不超过50个字符组成的字符串 |
| yaml_path   | 否    | String | **参数解释** 仓库中yaml文件的相对路径                                                                                                         |
| suit_name   | 否    | String | **参数解释** 要生成的测试套名称                                                                                                              |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数     | 参数类型                                                                                               | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| code   | String                                                                                             | **参数解释** 接口调用失败错误码 **取值范围** 不超过256个字符组成的字符串                                                                                                                                                                                                                                                                                                                                                                                            |
| error  | [CommonResponseErrorObject] object | **参数解释** 统一错误返回 **取值范围** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                           |
| reason | String                                                                                             | **参数解释** 接口调用失败原因 **取值范围** 不超过1000个字符组成的字符串                                                                                                                                                                                                                                                                                                                                                                                            |
| result | Object                                                                                             | **参数解释** 结果 **取值范围** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                               |
| status | String                                                                                             | **参数解释** '状态值，如success、error' **取值范围** - success，请求成功   - error，请求报错    |
   
 表5CommonResponseErrorObject 
| 参数     | 参数类型   | 描述                                                                                                                                                                                 |
|:---|:---|:---|
| code   | String | **参数解释** 接口调用失败错误码 **取值范围** 不超过256个字符组成的字符串 |
| reason | String | **参数解释** 接口调用失败原因 **取值范围** 不超过1000个字符组成的字符串 |
   
**状态码：201**
Created
**状态码：401**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                  |
|:---|:---|:---|
| error_code | String | **参数解释** 接口调用失败错误码 **取值范围** 12-18个字符组成的字符串   |
| error_msg  | String | **参数解释** 接口调用失败错误信息 **取值范围** 3-1000个字符组成的字符串 |
   
**状态码：403**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                  |
|:---|:---|:---|
| error_code | String | **参数解释** 接口调用失败错误码 **取值范围** 12-18个字符组成的字符串   |
| error_msg  | String | **参数解释** 接口调用失败错误信息 **取值范围** 3-1000个字符组成的字符串 |
   
**状态码：404**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                  |
|:---|:---|:---|
| error_code | String | **参数解释** 接口调用失败错误码 **取值范围** 12-18个字符组成的字符串   |
| error_msg  | String | **参数解释** 接口调用失败错误信息 **取值范围** 3-1000个字符组成的字符串 |
   
#### 请求示例
```
{
  "repo_id" : "aa03aeee96fa48f0acc223f0ab503a1f",
  "repo_branch" : "master",
  "yaml_path" : "swagger.yaml",
  "suit_name" : "jalor_test_suite"
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "status" : "success",
  "result" : {
    "testcaseIds" : null,
    "test_suite_id" : "v92s00010hrk377m"
  },
  "reason" : null,
  "error" : null,
  "code" : null
}
```
#### 状态码
| 状态码 | 描述           |
|:---|:---|
| 200 | OK           |
| 201 | Created      |
| 401 | Unauthorized |
| 403 | Forbidden    |
| 404 | Not Found    |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-testman/ErrorCode.html)。
