
# 跨分支用例同步 - SyncMigrateTestCaseAndScript
#### 功能介绍
根据工程唯一标识和用例脚本信息跨分支用例同步
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-testman/cloudtest_03_2000.html)。
#### URI
POST /v1/{project_id}/testcase/branch/merge
表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参数 
| 参数              | 是否必选 | 参数类型                                                                                             | 描述          |
|:---|:---|:---|:---|
| create_data     | 否    | Array of [MigrateCaseUriInfo] objects | 创建的测试用例数据列表 |
| original_branch | 否    | String                                                                                           | 原始分支名称      |
| replace_data    | 否    | Array of [MigrateCaseUriInfo] objects | 替换的测试用例数据列表 |
| target_branch   | 否    | String                                                                                           | 目标分支名称      |
   
 表4MigrateCaseUriInfo 
| 参数                | 是否必选 | 参数类型   | 描述       |
|:---|:---|:---|:---|
| original_case_uri | 否    | String | 原始用例的URI |
| target_case_uri   | 否    | String | 目标用例的URI |
   
#### 响应参数
**状态码：200**
表5响应Body参数 
| 参数     | 参数类型                                                                                                              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| code   | String                                                                                                            | **参数解释** 接口调用失败错误码 **取值范围** 不超过256个字符组成的字符串                                                                                                                                                                                                                                                                                                                                                                                                                 |
| error  | [CommonResponseErrorProgressResp] object | **参数解释** 统一错误返回 **取值范围** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                |
| reason | String                                                                                                            | **参数解释** 接口调用失败原因 **取值范围** 不超过1000个字符组成的字符串                                                                                                                                                                                                                                                                                                                                                                                                                 |
| result | [ProgressResp] object                                       | **参数解释** 结果 **取值范围** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| status | String                                                                                                            | **参数解释** '状态值，如success、error' **取值范围** - success，请求成功   - error，请求报错    |
   
 表6CommonResponseErrorProgressResp 
| 参数     | 参数类型                                                                        | 描述                                                                                                                                                                                          |
|:---|:---|:---|
| code   | String                                                                      | **参数解释** 接口调用失败错误码 **取值范围** 不超过256个字符组成的字符串 |
| detail | [ProgressResp] object | **参数解释** 错误信息详情 **取值范围** 不涉及                |
| reason | String                                                                      | **参数解释** 接口调用失败原因 **取值范围** 不超过1000个字符组成的字符串 |
   
 表7ProgressResp 
| 参数       | 参数类型                                                                | 描述   |
|:---|:---|:---|
| progress | [Progress] object | 进度数据 |
   
 表8Progress 
| 参数         | 参数类型    | 描述                                                                                                                                                                                   |
|:---|:---|:---|
| id         | String  | **参数解释** 唯一标识 **取值范围** 32个字符组成的字符串   |
| message    | String  | 消息                                                                                                                                                                                   |
| project_id | String  | **参数解释** 工程唯一标识 **取值范围** 32个字符组成的字符串 |
| rate       | Integer | 进度                                                                                                                                                                                   |
   
**状态码：201**
Created
**状态码：401**
表9响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                           |
|:---|:---|:---|
| error_code | String | **参数解释** 接口调用失败错误码 **取值范围** 12-18个字符组成的字符串   |
| error_msg  | String | **参数解释** 接口调用失败错误信息 **取值范围** 3-1000个字符组成的字符串 |
   
**状态码：403**
表10响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                           |
|:---|:---|:---|
| error_code | String | **参数解释** 接口调用失败错误码 **取值范围** 12-18个字符组成的字符串   |
| error_msg  | String | **参数解释** 接口调用失败错误信息 **取值范围** 3-1000个字符组成的字符串 |
   
**状态码：404**
表11响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                           |
|:---|:---|:---|
| error_code | String | **参数解释** 接口调用失败错误码 **取值范围** 12-18个字符组成的字符串   |
| error_msg  | String | **参数解释** 接口调用失败错误信息 **取值范围** 3-1000个字符组成的字符串 |
   
#### 请求示例
```
{
  "create_data" : [ {
    "target_case_uri" : "",
    "original_case_uri" : ""
  } ],
  "replace_data" : [ {
    "target_case_uri" : "",
    "original_case_uri" : ""
  } ],
  "original_branch" : "",
  "target_branch" : "v92s00010hrk033e"
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "error" : {
    "code" : "APITEST.00010497",
    "reason" : "用例迁移分支不能为空"
  },
  "status" : "error"
}
```
#### 状态码
| 状态码 | 描述           |
|:---|:---|
| 200 | OK           |
| 201 | Created      |
| 401 | Unauthorized |
| 403 | Forbidden    |
| 404 | Not Found    |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-testman/ErrorCode.html)。
