
# 新增分支 - CreateProjectBranch
#### 功能介绍
此接口用于新增分支，同页面 测试 -\> 测试计划 -\> 右侧展示页面，点击左上角分支筛选栏右侧设置键 -\> 进入版本管理页面，点击左上角添加 -\> 输入新建分支名称，点击保存
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-testman/cloudtest_03_2000.html)。
#### URI
POST /GT3KServer/v4/branches
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 必传。 **取值范围：** 字符串长度不少于1，不超过10万。 **默认取值：** 不涉及。 |
   
表2请求Body参数 
| 参数                   | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| name                 | 是    | String | **参数解释** 名称 **约束限制** **取值范围** 3-128位字符串 **默认取值** 不涉及                                                                                                                                                            |
| number               | 否    | String | **参数解释** 编号(类似用例编号,版本唯一) **约束限制** 不涉及 **取值范围** 长度小于768 **默认取值** 不涉及                                                                                                      |
| is_master            | 否    | String | **参数解释** 是否为Master分支 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                                                                                                              |
| pbi_id               | 否    | String | **参数解释** PBI ID **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                                                                                                                   |
| pbi_name             | 否    | String | **参数解释** PBI信息 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                                                                                                                    |
| plan_start_date      | 否    | String | **参数解释** 开始时间 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                                                                                                                     |
| plan_start_timestamp | 否    | Long   | **参数解释** 开始时间戳 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                                                                                                                    |
| plan_end_date        | 否    | String | **参数解释** 结束时间 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                                                                                                                     |
| plan_end_timestamp   | 否    | Long   | **参数解释** 结束时间戳 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                                                                                                                    |
| asyn_git             | 否    | String | **参数解释** 是否同步git库 **约束限制** 不涉及 **取值范围** 不涉及 **默认取值** 不涉及                                                                                                                 |
| project_uuid         | 是    | String | **参数解释** 项目UUID，项目唯一标识，固定长度32位字符（字母和数字）。获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-testman/cloudtest_03_4003.html) **约束限制** 不涉及 **取值范围** （传入微服务ID） **默认取值** 不涉及 |
| project_name         | 否    | String | **参数解释** 项目名称 **约束限制** 不涉及 **取值范围** （传入微服务名） **默认取值** 不涉及                                                                                                                |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数    | 参数类型                                                                 | 描述                                                                                                                                                |
|:---|:---|:---|
| value | [TestVersionVo] object | **参数解释** 版本资源信息 **取值范围** 不涉及 |
   
 表4TestVersionVo 
| 参数                      | 参数类型              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| uri                     | String            | **参数解释**: 资源URI **取值范围**: 11-34位长度的字母、数字组成的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| type                    | String            | **参数解释**: 资源类型 **取值范围**: - TestCase，用例。   - Task，任务。   - TestVersion，分支。   - IteratorTestCase，迭代用例。    |
| author                  | String            | **参数解释**: 创建人 **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| name                    | String            | **参数解释**: 名称 **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| rank                    | Integer           | **参数解释**: 级别 **取值范围**: 1\|2\|3\|4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| version                 | String            | **参数解释**: 待测版本 **取值范围**: 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| owner                   | String            | **参数解释**: 处理者ID **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| creator                 | String            | **参数解释**: 创建人ID **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| iterations              | String            | **参数解释**: 关联迭代 **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| description             | String            | **参数解释**: 描述 **取值范围**: 长度小于1024个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| region                  | String            | **参数解释**: 区域 **取值范围**: 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| last_modifier           | String            | **参数解释**: 最后修改人 **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| last_modified           | String            | **参数解释**: 最后修改时间 **取值范围**: 不涉及，格式：yyyy-MM-dd HH:mm:ss                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| last_modified_timestamp | Long              | **参数解释**: 修改时间时间戳 **取值范围**: 不涉及，单位：毫秒级                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| last_change_time        | String            | **参数解释**: 最后变更时间 **取值范围**: 不涉及，格式：yyyy-MM-dd HH:mm:ss                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| version_uri             | String            | **参数解释**: 版本URI **取值范围**: 11-34位字母、数字组成的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| origin_uri              | String            | **参数解释**: 源资源URI **取值范围**: 11-34位字母、数字组成的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| parent_uri              | String            | **参数解释**: 父资源URI **取值范围**: 11-34位字母、数字组成的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| parent_path             | String            | **参数解释**: 父资源路径 **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| creation_version_uri    | String            | **参数解释**: 创建版本URI **取值范围**: 11-34位字母、数字组成的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| creation_date           | String            | **参数解释**: 创建时间 **取值范围**: 时间格式为"yyyy-MM-dd HH:mm:ss"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| creation_date_timestamp | Long              | **参数解释**: 创建时间时间戳 **取值范围**: 不涉及，单位：毫秒级                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| author_name             | String            | **参数解释**: 创建人名称 **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| comment                 | String            | **参数解释**: 备注 **取值范围**: 长度小于1024个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| number                  | String            | **参数解释**: 编号 **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| is_master               | Integer           | **参数解释**: 是否为Master分支 **取值范围**: 0\|1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| is_iterator             | Integer           | **参数解释**: 是否为迭代 **取值范围**: 0\|1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| plan_start_date         | String            | **参数解释**: 开始时间 **取值范围**: 时间格式为"yyyy-MM-dd HH:mm:ss"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| plan_end_date           | String            | **参数解释**: 结束时间 **取值范围**: 时间格式为"yyyy-MM-dd HH:mm:ss"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| service_id              | String            | **参数解释**: 微服务ID **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| service_name            | String            | **参数解释**: 微服务名 **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| pbi_id                  | String            | **参数解释**: PBI ID **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| pbi_name                | String            | **参数解释**: PBI信息 **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| plan_id                 | String            | **参数解释**: 计划ID **取值范围**: 11-34位字母和数字组成的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| metric_pbi_ids          | String            | **参数解释**: 度量PBI ID **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| metric_pbi_id_names     | String            | **参数解释**: 度量PBI名称 **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| last_syn_date           | String            | **参数解释**: 最后同步时间 **取值范围**: 时间格式为"yyyy-MM-dd HH:mm:ss"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| is_closed               | String            | **参数解释**: 版本是否关闭 **取值范围**: 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| asyn_git                | String            | **参数解释**: 是否同步git库 **取值范围**: 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| schema_no               | Integer           | **参数解释**: schema编号 **取值范围**: 1-10                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| finish_date             | String            | **参数解释**: 迭代实际完成时间 **取值范围**: 时间格式为"yyyy-MM-dd HH:mm:ss"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| owner_name              | String            | **参数解释**: 处理者名称 **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| creator_name            | String            | **参数解释**: 创建人名称 **取值范围**: 长度小于128个字符的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| current_stage           | String            | **参数解释**: 当前所处阶段 **取值范围**: create\|strategy\|design\|execute\|report                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| service_types           | Array of integers | **参数解释**: 服务类型 **取值范围**: 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| risk_rating             | Integer           | **参数解释**: 风险等级 **取值范围**: 0\|1\|2\|3\|4\|5                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| risk_des                | String            | **参数解释**: 风险描述 **取值范围**: 最大长度500位字符                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| project_uuid            | String            | **参数解释**: 项目UUID，项目唯一标识，固定长度32位字符（字母和数字）。获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-testman/cloudtest_03_4003.html) **取值范围**: 32位字母和数字组成的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| domain_id               | String            | **参数解释**: 租户ID **取值范围**: 11-34位字母和数字组成的字符串                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| pi_id                   | String            | **参数解释**: pi的id **取值范围**: 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   
**状态码：400**
表5响应Body参数 
| 参数     | 参数类型   | 描述                                                                                                                                                     |
|:---|:---|:---|
| code   | String | **参数解释**: 业务失败的错误码 **取值范围**: 不涉及  |
| reason | String | **参数解释**: 业务失败的提示内容 **取值范围**: 不涉及 |
   
**状态码：401**
表6响应Body参数 
| 参数     | 参数类型   | 描述                                                                                                                                                     |
|:---|:---|:---|
| code   | String | **参数解释**: 业务失败的错误码 **取值范围**: 不涉及  |
| reason | String | **参数解释**: 业务失败的提示内容 **取值范围**: 不涉及 |
   
**状态码：404**
表7响应Body参数 
| 参数     | 参数类型   | 描述                                                                                                                                                     |
|:---|:---|:---|
| code   | String | **参数解释**: 业务失败的错误码 **取值范围**: 不涉及  |
| reason | String | **参数解释**: 业务失败的提示内容 **取值范围**: 不涉及 |
   
**状态码：500**
表8响应Body参数 
| 参数     | 参数类型   | 描述                                                                                                                                                     |
|:---|:---|:---|
| code   | String | **参数解释**: 业务失败的错误码 **取值范围**: 不涉及  |
| reason | String | **参数解释**: 业务失败的提示内容 **取值范围**: 不涉及 |
   
#### 请求示例
```
put https://{endpoint}/GT3KServer/v4/branches
{
  "project_uuid" : "dc3f9aa646ad4707831080d3fcce474d",
  "name" : "cxc",
  "project_name" : "【车联网示例项目】车联网云服务-GJX"
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "value" : {
    "uri" : "v92s00010e7ddfsn",
    "type" : "TestVersion",
    "author" : "f3b807a0d249424fa36a0d804110c4ed",
    "name" : "cxc",
    "region" : "cn-north-7",
    "last_modifier" : "f3b807a0d249424fa36a0d804110c4ed",
    "last_modified" : "2025-04-28 16:42:48",
    "last_change_time" : "2025-04-28 16:42:48",
    "version_uri" : "dc3f9aa646ad4707831080d3fcce474d",
    "parent_uri" : "dc3f9aa646ad4707831080d3fcce474d",
    "parent_path" : "/dc3f9aa646ad4707831080d3fcce474d/",
    "creation_version_uri" : "dc3f9aa646ad4707831080d3fcce474d",
    "creation_date" : "2025-04-28 16:42:48",
    "is_master" : 0,
    "is_iterator" : 0,
    "service_id" : "dc3f9aa646ad4707831080d3fcce474d",
    "service_name" : "【车联网示例项目】车联网云服务-GJX",
    "schema_no" : 1,
    "risk_rating" : 0,
    "project_uuid" : "dc3f9aa646ad4707831080d3fcce474d"
  }
}
```
#### SDK代码示例
SDK代码示例如下。
#### Java
```
package com.huaweicloud.sdk.test;
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.cloudtest.v1.region.CloudtestRegion;
import com.huaweicloud.sdk.cloudtest.v1.*;
import com.huaweicloud.sdk.cloudtest.v1.model.*;
public class CreateProjectBranchSolution {
    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);
        CloudtestClient client = CloudtestClient.newBuilder()
                .withCredential(auth)
                .withRegion(CloudtestRegion.valueOf("<YOUR REGION>"))
                .build();
        CreateProjectBranchRequest request = new CreateProjectBranchRequest();
        BranchVersionInfo body = new BranchVersionInfo();
        body.withProjectName("【车联网示例项目】车联网云服务-GJX");
        body.withProjectUuid("dc3f9aa646ad4707831080d3fcce474d");
        body.withName("cxc");
        request.withBody(body);
        try {
            CreateProjectBranchResponse response = client.createProjectBranch(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
```
#### Python
```
# coding: utf-8
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcloudtest.v1.region.cloudtest_region import CloudtestRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcloudtest.v1 import *
if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    credentials = BasicCredentials(ak, sk)
    client = CloudtestClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(CloudtestRegion.value_of("<YOUR REGION>")) \
        .build()
    try:
        request = CreateProjectBranchRequest()
        request.body = BranchVersionInfo(
            project_name="【车联网示例项目】车联网云服务-GJX",
            project_uuid="dc3f9aa646ad4707831080d3fcce474d",
            name="cxc"
        )
        response = client.create_project_branch(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
```
#### Go
```
package main
import (
"fmt"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    cloudtest "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudtest/v1"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudtest/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cloudtest/v1/region"
)
func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    auth, err := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        SafeBuild()
    if err != nil {
        fmt.Println(err)
        return
    }
    hcClient, err := cloudtest.CloudtestClientBuilder().
         WithRegion(region.ValueOf("<YOUR REGION>")).
         WithCredential(auth).
         SafeBuild()
    if err != nil {
        fmt.Println(err)
        return
    }
    client := cloudtest.NewCloudtestClient(hcClient)
    request := &model.CreateProjectBranchRequest{}
projectNameBranchVersionInfo:= "【车联网示例项目】车联网云服务-GJX"
request.Body = &model.BranchVersionInfo{
ProjectName: &projectNameBranchVersionInfo,
ProjectUuid: "dc3f9aa646ad4707831080d3fcce474d",
Name: "cxc",
}
response, err := client.CreateProjectBranch(request)
if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}
```
#### 更多
更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CloudTest/sdk?api=CreateProjectBranch)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK                    |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 404 | Not Found             |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-testman/ErrorCode.html)。
