v5.116.0:REST API 项目管理支持混合模型

更新时间:2024年6月28日

更新内容

  1. 项目管理支持混合模型
  2. 归档项目和归档工作项的概念独立
  3. 升级工时概念,增加工时状态属性
  4. 计划列表、用例列表支持按时间过滤
  5. 开放工作项关联需求资源

项目管理支持混合模型

支持混合模型项目。包括创建、复制、更新、获取混合模型项目;向混合模型项目中创建迭代、创建看板;在混合模型中创建工作项;项目配置中心;将混合模型项目作为引用资源等等。

{
    "name": "混合模型项目",
    "visibility": "private",
    "type": "hybrid",
    "identifier": "HHMP"
}
POST /v1/project/projects/{project_id}/members
POST /v1/project/projects/{project_id}/project_properties
POST /v1/project/projects/{project_id}/sprints
POST /v1/project/projects/{project_id}/boards
POST /v1/project/work_items
{
    "project_id": "5eb623f6a70571487ea47000",
    "type_id": "bug",
    "title": "这是一个缺陷"
}
POST /v1/project/project_properties
GET /v1/project/work_item_property_plans
{
    "page_size": 30,
    "page_index": 0,
    "total": 15,
    "values": [
        {
            "id": "5f8a21f18ef715265de90c21",
            "url": "https://rest_api_root/v1/project/work_item_property_plans/5f8a21f18ef715265de90c21",
            "project_type": "scrum",
            "work_item_type": "story",
            "project": {
                "id": "5eb623f6a70571487ea47000",
                "url": "https://rest_api_root/v1/project/projects/5eb623f6a70571487ea47000",
                "identifier": "HHMP",
                "name": "混合模型项目",
                "type": "hybrid",
                ......
            }
        },
        ......
    ]
}```

归档项目和归档工作项的概念独立

在旧版本中,如果项目归档,工作项也会自动归档,此时再通过「获取工作项列表」获取此类工作项时,需要通过参数 include_archived=true :

{
    "id": "5edca112b06305c524cad2fa",
    "url": "https://rest_api_root/v1/project/work_items/5edca112b06305c524cad2fa",
    "project": {
        "id": "5eb623f6a70571487ea47000",
        "url": "https://rest_api_root/v1/project/projects/5eb623f6a70571487ea47000",
        "identifier": "SCR",
        "name": "Scrum项目",
        "type": "scrum"
    },
    "identifier": "SCR-3",
    "title": "这是一个用户故事",
    "type": "story",
    ......
    "is_archived": 1,
    "is_deleted": 0
}```

而在新版本中,如果项目归档,工作项不会随之归档,此时不需要 include_archived 参数即可「获取工作项列表」此类工作项,但是它们的 project 会被标记为归档:

{
    "id": "5edca112b06305c524cad2fa",
    "url": "https://rest_api_root/v1/project/work_items/5edca112b06305c524cad2fa",
    "project": {
        "id": "5eb623f6a70571487ea47000",
        "url": "https://rest_api_root/v1/project/projects/5eb623f6a70571487ea47000",
        "identifier": "SCR",
        "name": "Scrum项目",
        "type": "scrum",
        "is_archived": 1,
        "is_deleted": 0
    },
    "identifier": "SCR-3",
    "title": "这是一个用户故事",
    "type": "story",
    ......
    "is_archived": 0,
    "is_deleted": 0
}```

升级工时概念,增加工时状态属性

在旧版本中,工时资料只包含“评审通过”的工时,对于开启了工时评审的企业来说,那些未评审的工时是无法通过「获取工时列表」接口获取到的。而在新版本中,所有的工时都可以通过「获取工时列表」获取到,它们将通过 review_state 属性进行区分。

{
    "page_size": 30,
    "page_index": 0,
    "total": 2,
    "values": [
        {
            "id": "5f168f764eba01a5278b87cd",
            "url": "https://rest_api_root/v1/workloads/5f168f764eba01a5278b87cd",
            "principal_type": "work_item",
            "principal": {
              	......
            },
            ......
            "duration": 8,
            "report_at": 1593290347,
            "report_by": {
                "id": "a0417f68e846aae315c85d24643678a9",
                "url": "https://rest_api_root/v1/directory/users/a0417f68e846aae315c85d24643678a9",
                "name": "john",
                "display_name": "John",
                "avatar": "https://s3.amazonaws.com/bucket/b46ef40c-e22e-4ecf-a599-cace9fba839a_160x160.png"
            },
            "review_state": "in_progress",
            "description": "这是一个工时"
        },
        {
            "id": "5f168f764eba01a5278b87a1",
            "url": "https://rest_api_root/v1/workloads/5f168f764eba01a5278b87a1",
            "principal_type": "work_item",
            "principal": {
              	......
            },
            ......
            "duration": 8,
            "report_at": 1593290350,
            "report_by": {
                "id": "a0417f68e846aae315c85d24643678a9",
                "url": "https://rest_api_root/v1/directory/users/a0417f68e846aae315c85d24643678a9",
                "name": "john",
                "display_name": "John",
                "avatar": "https://s3.amazonaws.com/bucket/b46ef40c-e22e-4ecf-a599-cace9fba839a_160x160.png"
            },
            "review_state": "approved", // "rejected"
            "description": "这是一个工时"
        }
    ]
}```

需要注意的是,如果企业没有开启工时评审,那么工时登记之后将自动变更为 approved 状态。

计划列表、用例列表支持按时间过滤

在获取计划和用例列表时,可通过 created_between 限定创建时间介于某个时间段的数据,或者通过 updated_between 限定更新时间介于某个时间段的数据,从而实现对于数据的增量获取。

GET /v1/testhub/libraries/{library_id}/plans?created_between=1713900000,1714000000
GET /v1/testhub/cases?updated_between=1713900000,1714000000

开放工作项关联需求资源

在创建关联和获取关联时,支持工作项关联需求。

其他

修复一些已知缺陷:

  1. 修复审计日记里部分数据的映射问题
  2. 修复创建产品接口的问题
  3. 修复用例属性列表数据不全的问题
  4. 修复迭代列表的问题

更多功能,详见 REST API 官方文档