
# 用户计划操作
#### 场景描述
该场景适用于已在测试计划中创建项目的用户，且在自己的项目中已创建用例，可创建不同的计划分类管理自己的用例。
下面介绍如何创建测试计划，以及向计划中添加用例。
#### 前提条件
需要用户成功创建项目，并且成功创建自己的用例。
#### 涉及接口
用户计划操作包括，项目下创建计划、计划中批量添加测试用例，其中向计划中添加用例需要用户事先已成功创建用例，涉及接口如下：
- 项目下创建计划：在项目中的第三方测试类型下创建用户自己的测试计划。
- 计划中批量添加测试用例：计划创建成功后向计划中关联用例。
 
#### 操作步骤
1. 确定调用API鉴权时使用的Token。 
   1. 查询token，详情请参见[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)。
   
   2. 获取响应Header参数中X-Subject-Token对应的值。
   
   
   
   
2. 创建测试计划。 
   - 接口相关信息 URL格式：POST /v1/projects/{project_id}/plans
     接口请求参数说明详情，请参见"项目下创建计划"接口。
     
   
   - 请求示例 POST https://{endpoint}/v1/projects/{project_id}/plans
     - {endpoint}信息请从[终端节点](https://support.huaweicloud.com/api-testman/cloudtest_03_0000.html#cloudtest_03_0000__section30183801210)获取。
     
     - {project_id}为项目唯一标识。
     
     
     Body：
     ```
     {
       "name" : "这是一个测试计划名称",
       "assigned_id" : "efdb403066474ab08836b9eeaaa23bca",
       "service_id_list" : [ 0 ],
       "plan_cycle" : {
         "start_date" : "2020-03-04",
         "end_date" : "2020-03-31"
       }
     }
     ```
     
   
   - 响应示例
     ```
     {
       "plan_id" : "efdb403066474ab08836b9eeaaa23bca",
       "error_code" : "CLOUDTEST.000XXXXXX",
       "error_msg" : "失败原因XXXXX"
     }
     ```
     
   
   
   
   
3. 向测试计划中添加用例。 
   - 接口相关信息 URL格式：POST /v1/projects/{project_id}/plans/{plan_id}/testcases/batch-add
     接口请求参数说明详情，请参见"计划中批量添加测试用例"接口。
     
   
   - 请求示例 POST https://{endpoint}/v1/projects/{project_id}/plans/{plan_id}/testcases/batch-add
     - {endpoint}信息请从[终端节点](https://support.huaweicloud.com/api-testman/cloudtest_03_0000.html#cloudtest_03_0000__section30183801210)获取。
     
     - {project_id}为项目唯一标识。
     
     
     Body：
     ```
     {
       "service_id" : 13,
       "testcase_id_list" : [ "efdb403066474ab08836b9eeaaa23bca", "251fca07b22f493692eb06b1754f07a8" ]
     }
     ```
     
   
   - 响应示例
     ```
     {
       "error_code" : "CLOUDTEST.000XXXXXX",
       "error_msg" : "失败原因XXXXX",
       "error_detail" : {
         "failed" : [ {
           "error_code" : "CLOUDTEST.000XXXXXX",
           "error_msg" : "失败原因XXXXX",
           "testcase_id" : "efdb403066474ab08836b9eeaaa23bca"
         } , {
           "error_code" : "CLOUDTEST.000XXXXXX",
           "error_msg" : "失败原因XXXXX",
           "testcase_id" : "251fca07b22f493692eb06b1754f07a8"
         }]
       }
     }
     ```
     
   
   
   
   
 
