查询个人工作台工作项列表
功能介绍
需要获取当前登录用户在租户空间中的所有工作项列表,包括原始需求、系统特性、研发需求、缺陷、任务类型,可调用此接口。用户可以根据类型、优先级、创建时间、更新时间、计划完成时间、状态、归属项目筛选出需要的工作项信息。
调用方法
请参见如何调用API。
URI
POST /v1/ipdprojectservice/projects/tenant/query
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
否 |
String |
参数解释: 项目的32位uuid,项目唯一标识,通过查询项目列表(WorkSpace服务)接口获取,响应消息体中的project_id字段的值就是项目ID。 约束限制: 多个项目使用英文逗号分隔。每次最多支持10个项目查询,超出部分会截取去重后的前10个项目Id。 取值范围: 不涉及。 默认取值: 不涉及。 |
issue_type |
是 |
String |
参数解释: 工作项类型。 约束限制: 多值使用英文逗号分隔。 取值范围:
默认取值: 不涉及。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
filter |
否 |
Array of Map<String,ConditionVO> objects |
参数解释: 查询过滤器的数组,每个数组元素就是一个查询条件,数组元素为Map<String, ConditionVO>类型,Map中的key表示查询的列,ConditionVO表示查询条件的值,值的来源根据key动态选择。 示例filter元素 {"descendants.plan_pi":{"values":["956200745322848257"],"operator":"||"}} ,表示查询项目下发布为956200745322848257的工作项。可以将这个查询条件翻译为SQL,select ... where plan_pi in ("956200745322848257"). plan_pi作为key ("descendants."表示在树形结构中搜索符合条件的子工作项,非必要条件。一般场景下,plan作为key即可),发布的id作为查询条件的值。如果要查询多个发布下的工作项,values数组中放入多个发布的id作为数组元素即可。 约束限制: 最大长度200。 取值范围: 不涉及。 默认取值: 不涉及。 |
filter_mode |
否 |
String |
参数解释: 过滤模式 约束限制: 最大长度512。 取值范围:
默认取值: AND_OR |
page |
否 |
PageInfoVO object |
参数解释: 分页信息。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
sort |
否 |
Array of SortInfo objects |
参数解释: 排序条件。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
values |
否 |
Array of strings |
参数解释: 查询条件的值。 取值范围: 根据查询条件的key确定。如key为plan_pi,值则为发布的id;如果key为assignee等人员类型字段,值为用户id;若key为created_date等日期时间类型字段,一般为[1760284800000,1760371199999]这种起止时间戳,精确到毫秒。 约束限制: 最大长度200 |
operator |
否 |
String |
参数解释: 操作符 约束限制: 不涉及 取值范围: "||":表示查询目标和values之间的关系为或; "!":表示查询目标和values之间的关系为非; "=":表示查询目标和values之间的关系为等于,通常values中只有一个元素时使用; "<>"、"<"、">":表示查询目标和values之间的关系为区间、小于、大于,通常用于日期时间、整数类型的过滤,包含边界值。 默认取值: "||" |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
page_no |
否 |
Integer |
参数解释: 分页索引 约束限制: 不涉及 取值范围: 最小值1,最大值10000 默认取值: 1 |
page_size |
否 |
Integer |
参数解释: 分页大小 约束限制: 不涉及 取值范围: 最小值5,最大值200 默认取值: 200 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
field |
否 |
String |
参数解释: 排序字段code 约束限制: 不涉及 取值范围: 对应字段的唯一code,可选值可以通过查询字段模板列表接口获取,响应体中的code就是字段唯一标识。 默认取值: 不涉及 |
asc |
否 |
Boolean |
参数解释: 是否升序 约束限制: 不涉及 取值范围: true(是) false(否) 默认取值: 不涉及 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
status |
String |
参数解释: 返回状态。 取值范围: success:响应成功 error:响应失败 |
message |
String |
参数解释: 信息 取值范围: 不涉及 |
result |
Map<String,Object> |
参数解释: 结果数据 |
状态码:400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述,对error_code的补充解释。 |
请求示例
查询个人工作台中状态为初始,优先级为高的第一页研发需求,每页15条
https://{endpoint}/v1/ipdprojectservice/projects/tenant/query?issue_type=IR,US&project_id=4f967f6f05554273b0476da123e73b41 { "page" : { "page_no" : 1, "page_size" : 15 }, "filter" : [ { "category" : { "values" : [ "IR", "US", "AR", "SR" ], "operator" : "||" } }, { "priority" : { "values" : [ "高" ], "operator" : "||" } }, { "status" : { "values" : [ "Start" ], "operator" : "||" } } ] }
响应示例
状态码:200
OK
{ "status" : "success", "message" : null, "result" : { "total" : 1, "issues" : [ { "promised" : null, "type" : "raw requirement", "src_domain" : { "id" : "965714701520515072", "name" : "IPD-系统设备类-0217", "title" : "IPD-系统设备类-0217", "project_id" : "e4b0424709934bd1a54753e70336564d", "parent_id" : null, "category" : "Project", "created_by" : "a360371833bf4c558f796fd707b44daf", "model_id" : "10001" }, "domain_id" : { "id" : "965714701520515072", "name" : "IPD-系统设备类-0217", "title" : "IPD-系统设备类-0217", "project_id" : "e4b0424709934bd1a54753e70336564d", "parent_id" : null, "category" : "Project", "created_by" : "a360371833bf4c558f796fd707b44daf", "model_id" : "10001" }, "send_from" : "", "number" : "RR20240402742063", "send_to" : "", "convolution_actual_hours" : null, "workload_man_day" : null, "id" : "981935538274476033", "state" : "正在工作", "stay_days" : 1, "assigned_cc" : null, "submit_time" : "1712041275000", "workitem2label" : null, "close_time" : null, "priority" : { "id" : "965714705672876036", "display_value" : "中", "value" : "中", "code" : "中", "value_py" : "2", "sequence" : 2, "level" : 1, "domain_id" : "965714701520515072", "belong_definition_type" : "5" }, "modified_date" : "1712041276000", "created_by" : { "watcher" : null, "user_id" : "a360371833bf4c558f796fd707b44daf", "user_num_id" : 4091, "user_name" : "devcloud_devcloud_01", "domain_id" : "4e919d73499648e3b0292cd3cbef806a", "domain_name" : "devcloud_devcloud_01", "nick_name" : "测试账号", "role_id" : "8dc2cd191a104148a77f937681f9a5d6,6af50476ba89492698d237fb6fa456d6", "role_name" : "项目管理员,项目经理", "role_code" : "project_admin,Project manager", "image_id" : null, "region" : null, "has_removed" : null }, "break_status" : { "id" : "965714705672876041", "display_value" : "未分解", "value" : "undecomposed", "code" : "undecomposed", "value_py" : "undecomposed", "sequence" : 2, "level" : 1, "domain_id" : "965714701520515072", "belong_definition_type" : "5" }, "status_modified_date" : "1712041276000", "canceled" : null, "expect_delivery_time" : null, "parent_id" : null, "assignee" : { "watcher" : null, "user_id" : "a360371833bf4c558f796fd707b44daf", "user_num_id" : 4091, "user_name" : "devcloud_devcloud_01", "domain_id" : "4e919d73499648e3b0292cd3cbef806a", "domain_name" : "devcloud_devcloud_01", "nick_name" : "测试账号", "role_id" : "8dc2cd191a104148a77f937681f9a5d6,6af50476ba89492698d237fb6fa456d6", "role_name" : "项目管理员,项目经理", "role_code" : "project_admin,Project manager", "image_id" : null, "region" : null, "has_removed" : null }, "region" : "region", "status" : { "id" : "965714705815482388", "belonging" : "START", "space_id" : "965714701520515072", "name" : "分析", "status_category" : null, "code" : "Analyse", "definition_type" : "5", "belong_definition_type" : 3, "belong_scope" : null, "display_value" : "分析", "position" : 2, "displayable" : 1, "editable" : 1, "deletable" : 1, "mutable" : 1, "title_py" : "fx", "builtin" : null, "label" : null, "description" : null, "created_by" : "a360371833bf4c558f796fd707b44daf", "created_userinfo" : null, "created_on" : null, "created_date" : 1708202727000, "modified_date" : 1708202727000, "modified_by" : "a360371833bf4c558f796fd707b44daf", "category_code" : null, "editing_fields" : null, "associate" : null, "linkage_node_fields" : false }, "tenant_id" : "4e919d73499648e3b0292cd3cbef806a", "link" : "", "is_suspended" : null, "change_status" : null, "title" : "RR-01", "sum_workload_man_day" : null, "plan_end_date" : null, "rr2ir" : "", "convolution_plan_hours" : null, "submitted_by" : [ { "watcher" : null, "user_id" : "a360371833bf4c558f796fd707b44daf", "user_num_id" : 4091, "user_name" : "devcloud_devcloud_01", "domain_id" : "4e919d73499648e3b0292cd3cbef806a", "domain_name" : "devcloud_devcloud_01", "nick_name" : "测试账号", "role_id" : "8dc2cd191a104148a77f937681f9a5d6,6af50476ba89492698d237fb6fa456d6", "role_name" : "项目管理员,项目经理", "role_code" : "project_admin,Project manager", "image_id" : null, "region" : null, "has_removed" : null } ], "rr2us" : "", "cascade_delete" : "none", "recipient" : [ { "watcher" : null, "user_id" : "a360371833bf4c558f796fd707b44daf", "user_num_id" : 4091, "user_name" : "devcloud_devcloud_01", "domain_id" : "4e919d73499648e3b0292cd3cbef806a", "domain_name" : "devcloud_devcloud_01", "nick_name" : "测试账号", "role_id" : "8dc2cd191a104148a77f937681f9a5d6,6af50476ba89492698d237fb6fa456d6", "role_name" : "项目管理员,项目经理", "role_code" : "project_admin,Project manager", "image_id" : null, "region" : null, "has_removed" : null } ], "modified_by" : { "watcher" : null, "user_id" : "a360371833bf4c558f796fd707b44daf", "user_num_id" : 4091, "user_name" : "devcloud_devcloud_01", "domain_id" : "4e919d73499648e3b0292cd3cbef806a", "domain_name" : "devcloud_devcloud_01", "nick_name" : "测试账号", "role_id" : "8dc2cd191a104148a77f937681f9a5d6,6af50476ba89492698d237fb6fa456d6", "role_name" : "项目管理员,项目经理", "role_code" : "project_admin,Project manager", "image_id" : null, "region" : null, "has_removed" : null }, "created_date" : "1712041275000", "closed_flag" : null, "category" : "RR", "collaborative_status" : [ ], "setup" : true } ] } }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
错误信息 |
错误码
请参见错误码。