v4.166.0:REST API 将跨产品的关联提取为全局资源
更新时间:2023年7月10日
更新内容
- 将跨产品的关联提取为全局资源
- 优化发布资源的属性,开放发布的分类和分组资源
- 支持获取项目进度
- 工时资源开放创建时间属性
将跨产品的关联提取为全局资源
新增了一个全局资源“关联”,提供了两个API:
获取一个跨产品的关联
GET /v1/relations/{relation_id}
删除一个跨产品的关联
DELETE /v1/relations/{relation_id}
对应的“关联”资源是:
{
"id": "fa1125cb06305edca524cad2",
"url": "https://rest_api_root/v1/relations/fa1125cb06305edca524cad2",
"principal_type": "test_plan",
"principal": {
"id": "5eb6a70571487623fea47000",
"url": "https://rest_api_root/v1/testhub/libraries/5eb623f6a70571487ea47000/plans/5eb6a70571487623fea47000",
"name": "测试计划",
"status": "in_progress",
"start_at": 1589791860,
"end_at": 1589791870
},
"target_type": "work_item",
"target": {
"id": "5edca524cad2fa1125cb0630",
"url": "https://rest_api_root/v1/project/work_items/5edca524cad2fa1125cb0630",
"identifier": "SCR-5",
"type": "bug",
"title": "这是一个缺陷",
"start_at": 1583290309,
"end_at": 1583290347,
"parent_id": "5edca524cad2fa112b06105c"
}
}
其中 principal 表示关联的主体,target 表示被关联的主体。principal_type 和 target_type 分别表示它们的类型,比如 work_item 表示工作项、test_plan 表示测试计划、test_case 表示测试用例等,您可以根据 type 来识别 principle 和 target。
另外,因为跨产品关联的变化,新增下列 API 覆盖原来的场景:
原 API 不再文档中显示,但是它们将被继续支持一段时间
获取测试计划关联缺陷列表
GET /v1/testhub/plans/{plan_id}/bug_relations // 返回全局关联资源
创建一个执行用例关联缺陷
POST /v1/testhub/runs/{run_id}/bug_relations // 创建全局关联资源
获取执行用例关联缺陷列表
GET /v1/testhub/runs/{run_id}/bug_relations // 返回全局关联资源
测试用例关联故事、测试用例关联缺陷 -> 测试用例关联工作项
创建一个测试用例关联工作项
POST /v1/testhub/cases/{case_id}/work_item_relations
批量创建测试用例关联工作项
POST /v1/testhub/cases/{case_id}/work_item_relations/bulk
获取测试用例关联工作项列表
GET /v1/testhub/cases/{case_id}/work_item_relations
批量删除测试用例关联工作项
DELETE /v1/testhub/cases/{case_id}/work_item_relations/bulk
优化发布资源的属性,开放发布的分类和分组资源
优化发布资源的属性,新增了进度属性(progress),扩展了所有阶段属性(stages),新增了分类属性(categories):
{
……
"progress": 0,
"operate_at": 1565255712,
"stage": {
"id": "5f44a8f8bb347b14b49624a1",
"url": "https://rest_api_root/v1/project/stages/5f44a8f8bb347b14b49624a1",
"name": "未开始",
"type": "pending",
"color": "#FA8888"
},
"stages": [
{
"id": "5f44a8f8bb347b14b49624a1",
"url": "https://rest_api_root/v1/project/stages/5f44a8f8bb347b14b49624a1",
"name": "未开始",
"operate_at": 1565255712
},
{
"id": "5f44a8f8bb347b14b49624a2",
"url": "https://rest_api_root/v1/project/stages/5f44a8f8bb347b14b49624a2",
"name": "进行中",
"operate_at": null
},
{
"id": "5f44a8f8bb347b14b49624a3",
"url": "https://rest_api_root/v1/project/stages/5f44a8f8bb347b14b49624a3",
"name": "已发布",
"operate_at": 1565255879
}
],
"categories": [
{
"id": "676a460a0fd987b7ea320889",
"url": "https://rest_api_root/v1/project/projects/5eb623f6a70571487ea47000/version_categories/676a460a0fd987b7ea320889",
"name": "私有部署发布"
}
],
……
}
开放了发布的分类和分组资源:
创建一个发布分组
POST /v1/project/projects/{project_id}/version_sections
部分更新一个发布分组
PATCH /v1/project/projects/{project_id}/version_sections/{section_id}
获取一个发布分组
GET /v1/project/projects/{project_id}/version_sections/{section_id}
获取发布分组列表
GET /v1/project/projects/{project_id}/version_sections
删除一个发布分组
DELETE /v1/project/projects/{project_id}/version_sections/{section_id}
创建一个发布类别
POST /v1/project/projects/{project_id}/version_categories
部分更新一个发布类别
PATCH /v1/project/projects/{project_id}/version_categories/{version_category_id}
获取一个发布类别
GET /v1/project/projects/{project_id}/version_categories/{version_category_id}
获取发布类别列表
GET /v1/project/projects/{project_id}/version_categories
删除一个发布类别
DELETE /v1/project/projects/{project_id}/version_categories/{version_category_id}
支持获取项目进度
在项目资源下,新增了一个API,用来获取当前项目的进度:
获取一个项目的进度
GET /v1/project/projects/{project_id}/progress
{
"work_item": {
"total": 4,
"pending_count": 1,
"in_progress_count": 2,
"completed_count": 1
}
}
工时资源开放创建时间属性
工时资源开放了创建时间属性,便于您的系统知晓该工时的实际创建时间:
{
……
"created_at": 1593290347,
……
}
另外,我们还修复了若干已知缺陷,更多修改欢迎直接查看 REST API 官方文档 。