Updated on 2026-05-19 GMT+08:00

Querying the Work Item List

Function

This API is used to obtain the list of raw requirements, system features, R&D requirements, or bugs of an IPD project. You can filter work items based on different criteria.

Calling Method

For details, see Calling APIs.

URI

POST /v1/ipdprojectservice/projects/{project_id}/issues/query

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Definition:

32-character ID of a project, which must be unique.

Obtain the value by calling the Querying the IPD Project List API. The value of id in the response message body is the project ID.

Constraints:

N/A

Value range:

N/A

Default value:

N/A

Table 2 Query Parameters

Parameter

Mandatory

Type

Description

issue_type

Yes

String

Definition:

Work item type, which is case sensitive. If an incorrect work item type is transferred, no data is returned. For system device and standalone software projects, if issue_type is set to a work item type without parent-child relationship, only the data of the first work item type is returned.

Constraints:

Multiple values are supported. Use commas (,) to separate them.

Value range:

For system device projects, options include RR, SF, IR, SR, AR, Task, and Bug.

For standalone software projects, options include RR, SF, IR, US, Task, and Bug.

For cloud service projects, options include RR, Epic, FE, US, Task, and Bug.

Default value:

N/A

Request Parameters

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

filter

No

Array of Map<String,ConditionVO> objects

Definition:

Array of query filters, where each element defines a filter condition as a Map<String, ConditionVO> object. Within the Map, the key represents the database column to query and ConditionVO indicates the condition's value. The value source is dynamically determined by the key.

For example, a filter element {"descendants.plan_pi": {"values": ["956200745322848257"], "operator": "||"}} queries for work items under the release with ID 956200745322848257. This translates to a SQL clause: select ... where plan_pi in ("956200745322848257"). descendants. indicates a search within a tree structure for matching child items and is optional. In general use, plan_pi alone is sufficient as the key. The release ID is the value of the query condition. To query work items under multiple releases, provide multiple release IDs in the values array.

Constraints:

Maximum length: 200 characters.

Value range:

N/A

Default value:

N/A

filter_mode

No

String

Definition:

Filter mode.

Constraints:

Maximum length: 512 characters.

Value range:

OR_AND: The relationship between multiple filters is OR, and the relationship between the key and value of the same filter is AND.

AND_OR: The relationship between multiple filters is AND, and the relationship between the key and value of the same filter is OR.

Default value:

AND_OR

page

No

PageInfoVO object

Definition:

Pagination information.

Constraints:

N/A

Value range:

N/A

Default value:

N/A

sort

No

Array of SortInfo objects

Definition:

Sorting criteria.

Constraints:

N/A

Value range:

N/A

Default value:

N/A

Table 4 ConditionVO

Parameter

Mandatory

Type

Description

values

No

Array of strings

Definition:

Value of the query condition.

Value range:

The value is determined by the query key. If the key is plan_pi, the value must be a release ID. If the key is a user field like assignee, the value must be a user ID. If the key is a datetime field like created_date, the value is typically a millisecond-precision timestamp range (for example, [1760284800000,1760371199999]).

Constraints:

Maximum length: 200 characters.

operator

No

String

Definition:

Operator.

Constraints:

N/A

Value range:

|| indicates a logical OR relationship between the query target and the values.

! indicates a logical NOT relationship.

= indicates an EQUALS relationship, generally applied when the values array contains a single element.

<>, <, and > represent range, less-than, and greater-than relationships, respectively. These are typically used for datetime or integer comparisons and include boundary values.

Default value:

||

Table 5 PageInfoVO

Parameter

Mandatory

Type

Description

page_no

No

Integer

Definition:

Page index.

Constraints:

N/A

Value range:

Minimum value: 1. Maximum value: 10,000.

Default value:

1

page_size

No

Integer

Definition:

Page size.

Constraints:

N/A

Value range:

Minimum value: 5. Maximum value: 200.

Default value:

200

Table 6 SortInfo

Parameter

Mandatory

Type

Description

field

No

String

Definition:

Sorting field code.

Constraints:

N/A

Value range: unique code of the corresponding field. The value can be obtained from the Querying Field Templates API. The value is code in the response body.

Default value:

N/A

asc

No

Boolean

Definition:

Whether the data is sorted by ascending order.

Constraints:

N/A

Options:

true: yes

false: no

Default value:

N/A

Response Parameters

Status code: 200

Table 7 Response body parameters

Parameter

Type

Description

status

String

Definition:

Returned status.

Value range:

success: The response is successful.

error: The response failed.

message

String

Definition:

Information.

Options:

N/A

result

IssueListResult object

Definition:

Result data.

Table 8 IssueListResult

Parameter

Type

Description

issues

Array of IssueVO objects

Definition:

Work item list.

Value range:

N/A

total

Integer

Definition:

Total number of work items that meet the filter criteria.

Value range:

N/A

Table 9 IssueVO

Parameter

Type

Description

sys_analysis_conclusion

String

Definition:

Analysis conclusion, which is filled during RR acceptance.

Value range:

N/A

sys_remark

String

Definition:

Remarks. This field is filled during RR submission for acceptance.

Value range:

N/A

promised

OptionVO object

Definition:

Promised or not. This field is filled during RR acceptance.

type

String

Definition:

Work item type.

Value range:

requirement (R&D requirement)

raw requirement

bug

task

feature

belong_inside

String

Definition:

Whether a work item is submitted across projects.

Value range:

1: submitted across projects

0: submitted within a project

src_domain

DomainVO object

Definition:

Proposing project of a work item.

domain_id

DomainVO object

Definition:

Responsible project of a work item.

send_from

String

Definition:

ID of the raw requirement's upstream requirement.

Value range:

N/A

number

String

Definition:

Work item ID, which consists of the work item type, year, month, day, and six random digits. For example, an IR created on September 30, 2025 may be numbered RR20250930982833.

Value range:

N/A

send_to

String

Definition:

ID of the raw requirement's downstream requirement.

Value range:

N/A

path

String

Definition:

Path between the parent and child work items.

Value range:

N/A

workload_man_day

String

Definition:

Planned workloads of a work item.

Value range:

N/A

sys_check_conclusion

String

Definition:

Acceptance conclusion. This field is filled during RR acceptance.

Value range:

N/A

id

String

Definition:

Unique ID of a work item.

Value range:

N/A

state

String

Definition:

Work item lifecycle.

Value range:

In use: work items that can be operated properly

Discarded: soft-deleted work items that can be restored from the recycle bin

Deleted: permanently deleted releases that can be restored

stay_days

Integer

Definition:

Number of days that a work item stays in the current status.

Value range:

N/A

assigned_cc

Array of UserVO objects

Definition:

Cc recipient.

submit_time

String

Definition:

Submission time of a work item. It is the time when the work item enters the workflow, rather than the creation time.

Value range:

N/A

workitem2label

Array of WorkItemLabelVO objects

Definition:

Work item label.

sys_return_conclusion

String

Definition:

Reason for return. This field is filled when an RR/bug is returned.

Value range:

N/A

close_time

String

Definition:

Completion time of a work item.

Value range:

N/A

priority

OptionVO object

Definition:

Priority.

modified_date

String

Definition:

Last modification time of a work item.

Value range:

N/A

created_by

UserVO object

Definition:

Work item creator.

break_status

OptionVO object

Definition:

Breakdown status.

status_modified_date

String

Definition:

Time when the work item was last transferred, which can be used to calculate the stay days. The value is a UNIX timestamp in milliseconds.

Value range:

N/A

expect_delivery_time

String

Definition:

Expected completion time. The value is a UNIX timestamp in milliseconds.

Value range:

N/A

parent_id

String

Definition:

Parent work item ID of a work item.

Value range:

N/A

assignee

UserVO object

Definition:

Owner.

region

String

Definition:

Domain of the tenant to which the work item belongs.

Value range:

N/A

status

AlmStatus object

Definition:

Work item status.

tenant_id

String

Definition:

ID of the tenant to which the work item belongs.

Value range:

N/A

plan_pi

PlanVO object

Definition:

Release to which a work item belongs.

link

String

Definition:

Relationship field of the associated work item. Use commas (,) to separate multiple values.

Value range:

N/A

description

String

Definition:

Work item description. A maximum of 500,000 characters are supported.

Value range:

N/A

is_suspended

OptionVO object

Definition:

Suspended or not.

change_status

OptionVO object

Definition:

Change review status of a work item.

title

String

Definition:

Work item title.

Value range:

N/A

sum_workload_man_day

String

Definition:

Actual workloads of a work item.

Value range:

N/A

sys_close_reason

String

Definition:

Reason for closing a work item.

Value range:

N/A

sys_resubmit_reason

String

Definition:

Reason for resubmission, which is used when resubmitting a returned RR/bug.

Value range:

N/A

plan_end_date

String

Definition:

Planned completion time of a work item.

Value range:

N/A

rr2ir

String

Definition:

ID of the child IR of an RR. Use commas (,) to separate multiple values.

Value range:

N/A

category_layer_id

String

Definition:

Work item type level ID.

Value range:

N/A

submitted_by

Array of UserVO objects

Definition:

Work item submitter.

rr2us

String

Definition:

ID of the child US of an RR. Use commas (,) to separate multiple values.

Value range:

N/A

sys_no_develop_reason

String

Definition:

Reason why no development is requirement for the work item.

Value range:

N/A

plan_iteration

PlanVO object

Definition:

Sprint to which the work item belongs.

sys_return_reason

String

Definition:

Reason for return. It is usually used when returning an RR/bug.

Value range:

N/A

cascade_delete

String

Definition:

Flag indicating whether to perform cascading deletion.

Value range:

N/A

recipient

Array of UserVO objects

Definition:

Receiver. It is usually used for RRs.

modified_by

Array of UserVO objects

Definition:

Last modifier of a work item.

created_date

String

Definition:

Creation time of a work item.

Value range:

N/A

category

String

Definition:

Work item type.

Value range:

For system device projects, options include RR, SF, IR, SR, AR, Task, and Bug.

For standalone software projects, options include RR, SF, IR, US, Task, and Bug.

For cloud service projects, options include RR, Epic, FE, US, Task, and Bug.

collaborative_status

String

Definition:

Collaboration status of an R&D requirement.

Value range:

N/A

project

DomainVO object

Definition:

Project to which the work item belongs.

child_issues

Array of IssueVO objects

Definition:

Child work item list.

activate_times

Integer

Definition:

Number of activation times. The value is automatically assigned when the bug is activated.

Value range:

N/A

baseline

OptionVO object

Definition:

Work item baseline status.

business_domain

OptionVO object

Definition:

Domain of a work item.

children

String

Definition:

ID of a child work item. Use commas (,) to separate multiple values.

Value range:

N/A

collaborative_history

String

Definition:

Change history of a collaborative requirement's status. The value is a JSON string.

Value range:

N/A

collaboratives

String

Definition:

ID of a requirement collaboration.

Value range:

N/A

convolution_actual_hours

String

Definition:

Actual roll-up workloads, summed from the actual workloads of all the child and collaborative work items.

Value range:

N/A

convolution_plan_hours

String

Definition:

Planned roll-up workloads, summed from the planned workloads of all the child and collaborative work items.

Value range:

N/A

develop_owner

String

Definition:

Development owner. This field is usually used for nodes in the developing status.

Value range:

N/A

done_ratio

OptionVO object

Definition:

Progress.

expected_repair_date

String

Definition:

Expected fixing time.

Value range:

N/A

feature2ir

String

Definition:

ID of the child IR of an SF. Use commas (,) to separate multiple values.

Value range:

N/A

feature_set

OptionVO object

Definition:

Feature set to which the SF belongs.

found_env

OptionVO object

Definition:

Environment where the bug was found.

found_iteration

PlanVO object

Definition:

Sprint where the bug was found.

found_pi

PlanVO object

Definition:

Release where the bug was found.

function_scene

String

Definition:

Function scenario.

Value range:

N/A

ir2feature

String

Definition:

ID of the SF associated with an IR. An IR can be associated with only one SF.

Value range:

N/A

ir2rr

String

Definition:

ID of the parent RR associated with an IR. Use commas (,) to separate multiple values.

Value range:

N/A

issue_opinion_id

String

Definition:

ID of the decision comment associated with a work item.

issue_review_id

String

Definition:

ID of the review comment associated with a work item.

Value range:

N/A

module

OptionVO object

Definition:

Module.

need_break

OptionVO object

Definition:

Whether work item breakdown is required.

need_develop

OptionVO object

Definition:

Whether development is required.

no_break_reason

String

Definition:

Reason for no breakdown required.

Value range:

N/A

no_develop_reason

String

Definition:

Reason for no development required.

Value range:

N/A

order

Integer

Definition:

Priority order.

Value range:

1 to 100

plan_dev_end_date

String

Definition:

Planned development end time. This field is usually used for nodes in the developing status. The value is a UNIX timestamp in milliseconds.

Value range:

N/A

plan_processing_end_date

String

Definition:

Planned end time of processing. This field is usually used for in-progress nodes. The value is a UNIX timestamp in milliseconds.

Value range:

N/A

plan_researchanddevelop_end_date

String

Definition:

Planned R&D end time. This field is usually used for nodes in the R&D status. The value is a UNIX timestamp in milliseconds.

Value range:

N/A

plan_test_end_date

String

Definition:

Planned test end time. This field is usually used for nodes in the testing status. The value is a UNIX timestamp in milliseconds.

Value range:

N/A

position_float

String

Definition:

Initial position of a work item in the list.

Value range:

N/A

processing_owner

String

Definition:

Owner for in-progress nodes. This field is usually used for in-progress nodes.

Value range:

N/A

reason_analysis

String

Definition:

Cause analysis.

Value range:

N/A

regression_failure_number

Integer

Definition:

Number of times that regression failed. This field is automatically assigned when the bug test fails.

Value range:

N/A

related_network_security

OptionVO object

Definition:

Whether network security is involved.

repair_solution

String

Definition:

Fix. This field is usually used for bugs.

Value range:

N/A

researchanddevelop_owner

String

Definition:

R&D owner. This field is usually used for nodes in the R&D status.

Value range:

N/A

severity

OptionVO object

Definition:

Severity.

sys_activation_reason

String

Definition:

Severity.

Value range:

N/A

sys_no_repair_reason

String

Definition:

Reason why fixing is not required. This field is used when the bug does not need to be fixed.

Value range:

N/A

test_failures_times

Integer

Definition:

Number of times that the test failed.

Value range:

N/A

test_owner

String

Definition:

Test owner. This field is usually used for nodes in the testing status.

Value range:

N/A

test_report

String

Definition:

Test report.

Value range:

N/A

val_feature

OptionVO object

Definition:

Value feature.

workitem2ganttchart

String

Definition:

ID of the Gantt chart associated with a work item.

Value range:

N/A

workitem2mindmap

String

Definition:

ID of the mind map associated with a work item.

Value range:

N/A

Table 10 WorkItemLabelVO

Parameter

Type

Description

id

String

Definition:

Label ID.

Value range:

The value must be a string of 18 or 19 characters.

category

String

Definition:

Object type.

Value range:

Label

label_type

String

Definition:

Type of the work item to which the label belongs, corresponding to the type field of the work item. The options are as follows.

Value range:

raw requirement

feature (system feature)

requirement (R&D requirement)

task

bug

color

String

Definition:

Tag color RGB.

Value range:

#86CAFF

#6DDEBB

#A6DD82

#FAC20A

#FA9841

#F66F6A

#F3689A

#A97AF8

#71757F

#5E7CE0

#207AB3

#169E6C

#6CA83B

#B58200

#B54E04

#B02121

#AD215B

#572DB3

#4F4F4F

#3C51A6

title

String

Definition:

Label title.

Value range:

The value is a string of 1 to 30 characters.

type

String

Definition:

Data type of the current object.

Value range:

label

state

String

Definition:

Lifecycle of a label.

Value range:

In use: The label is normal and can be used.

Discarded: The label has been deleted and cannot be used.

Deleted: The project to which the label belongs has been deleted and the label cannot be used.

modified_by

String

Definition:

Last modifier.

Value range:

N/A

Table 11 UserVO

Parameter

Type

Description

user_id

String

Definition:

User ID.

Value range:

N/A

user_num_id

Integer

Definition:

Short ID of a user.

Value range:

N/A

user_name

String

Definition:

Username.

Value range:

N/A

domain_id

String

Definition:

ID of the domain to which the user belongs.

Value range:

N/A

domain_name

String

Definition:

Tenant name.

Value range:

N/A

nick_name

String

Definition:

User alias.

Value range:

N/A

role_id

String

Definition:

Role ID. If a user has multiple roles in a project, use commas (,) to separate the values.

Value range:

N/A

role_name

String

Definition:

Role name. If a user has multiple roles, use commas (,) to separate the values.

Value range:

N/A

Table 12 AlmStatus

Parameter

Type

Description

id

String

Definition:

Status ID.

Value range:

N/A

belonging

String

Definition:

Work item status.

Value range:

START: To Do state, such as Initial or Analyzing.

IN_PROGRESS: Doing state, such as Fixing, Testing, or In R&D.

END: Done state, such as Closed or Completed.

space_id

String

Definition:

ID of the project space to which the status belongs.

Value range:

N/A

name

String

Definition:

Status name.

Value range:

N/A

code

String

Definition:

Status code.

Value range:

N/A

definition_type

String

Definition:

Status definition level. The values 1, 2, and 3 indicate the system level, the value 4 indicates the tenant-defined level, and the value 5 indicates the project-defined level.

Value range:

N/A

belong_definition_type

Integer

Definition:

Status definition level. The values 1, 2, and 3 indicate the system level, the value 4 indicates the tenant-defined level, and the value 5 indicates the project-defined level. It is different from definition_type. If the definition level is system-level or tenant-defined, a copy of metadata is copied to the project space.

Value range:

N/A

display_value

String

Definition:

Status name, which is the same as the value of name.

Value range:

N/A

position

Integer

Definition:

Position sequence.

Value range:

N/A

displayable

Integer

Definition:

Display or not.

Value range:

N/A

editable

Integer

Definition:

Editable or not.

Value range:

N/A

deletable

Integer

Definition:

Deletable or not.

Value range:

N/A

mutable

Integer

Definition:

Whether the status value is fixed.

Value range:

N/A

title_py

String

Definition:

Initial letters of a title.

Value range:

N/A

created_by

String

Definition:

User ID of the creator.

Value range:

N/A

created_date

Integer

Definition:

Creation time. The value is a UNIX timestamp in milliseconds.

Value range:

N/A

modified_date

Integer

Definition:

Last modification time. The value is a UNIX timestamp in milliseconds.

Value range:

N/A

modified_by

String

Definition:

ID of the last modifier.

Value range:

N/A

linkage_node_fields

Boolean

Definition:

Whether to add the node owner/end time in the workflow configuration.

Value range:

true: The node owner/end time can be added to the status flow node.

false: The node owner/end time cannot be added to the status flow node.

Table 13 DomainVO

Parameter

Type

Description

id

String

Definition:

Unique ID of a project space.

Value range:

N/A

name

String

Definition:

Project space name.

Value range:

N/A

title

String

Definition:

Project space name.

Value range:

N/A

project_id

String

Definition:

32-character UUID of a project space.

Value range:

N/A

parent_id

String

Definition:

Parent project space ID of the project space, which is used only in programs.

Value range:

N/A

category

String

Definition:

Project space type.

Value range:

Project

Group: program

created_by

String

Definition:

ID of the project space creator.

Value range:

N/A

model_id

String

Definition:

Model ID corresponding to the project space.

Value range:

N/A

Table 14 PlanVO

Parameter

Type

Description

id

String

Definition:

ID of a release, sprint, or milestone.

Value range:

N/A

title

String

Definition:

Title.

Options:

N/A

category

String

Definition:

Type. The value is of the enumerated type.

Value range:

PI: release

Iteration: sprint

PlanMilestone: milestone

description

String

Definition:

Description

Options:

N/A

state

String

Definition:

Discard flag. The value is of the enumerated type.

Value range:

In use: releases that can be operated normally

Discarded: soft-deleted releases that can be restored from the recycle bin

Deleted: permanently deleted releases that can be restored

status

String

Definition:

Release/Sprint status. The value is of the enumerated type.

Value range:

planned: not started

going: ongoing

ended

children

Array of PlanVO objects

Definition:

Sub-project sprint information.

created_by

String

Definition:

Creator ID.

Value range:

N/A

modified_by

String

Definition:

ID of the last updater.

Value range:

N/A

plan_start_date

String

Definition:

Planned start time, in the format of "yyyy-MM-dd". Example: 2024-01-01.

Value range:

N/A

plan_end_date

String

Definition:

Planned completion time, in the format of "yyyy-MM-dd". Example: 2024-01-01.

Value range:

N/A

created_date

Long

Definition:

Creation time, which is a Unix timestamp (unit: millisecond).

Options:

N/A

parent_id

String

Definition:

Parent work item ID.

Options:

N/A

baseline

String

Definition:

Baseline status. The value is of the enumerated type.

Value range:

baselined

unbaseline: not baselined

baseline-reviewing: baseline review in progress

workload

String

Definition:

Estimated workload.

Options:

N/A

owner

String

Definition:

Owner ID.

Options:

N/A

Table 15 OptionVO

Parameter

Type

Description

id

String

Definition:

Option ID.

Value range:

N/A

display_value

String

Definition:

Option name.

Value range:

N/A

value

String

Definition:

Unique ID of an option. The ID and value of a custom option are the same.

Value range:

N/A

code

String

Definition:

Option code.

Value range:

N/A

value_py

String

Definition:

Initial letter of the Chinese pinyin of the option name.

Value range:

N/A

sequence

Integer

Definition:

Option's position in the list.

Value range:

N/A

level

Integer

Definition:

Hierarchical depth (1, 2, 3, or 4) of an option. For single-choice and multi-choice lists, the value is 1.

Value range:

1: first level. Options in both single-choice and multi-choice lists belong to the first level.

2: second level.

3: third level.

4: fourth level.

domain_id

String

Definition:

ID of the project space to which the option belongs.

Value range:

N/A

belong_definition_type

String

Definition:

Definition level of the option. 1, 2, and 3 indicate the system level, 4 indicates the tenant-defined level, and 5 indicates the project-defined level.

Value range:

1: system-preset option.

2: system-preset option.

3: system-preset option.

4: tenant-defined option.

5: project-defined option.

Status code: 400

Table 16 Response body parameters

Parameter

Type

Description

error_code

String

Definition:

Error code.

Value range:

N/A

error_msg

String

Definition:

Error description, which is a supplement to error_code.

Value range:

N/A

Example Requests

To query To Do R&D requirements with medium priority, assigned to a specific owner and release sprint, within a standalone software project, refer to the following example:

Post https://{endpoint}/v1/ipdprojectservice/projects/{project_id}/issues/query?issue_type=IR,US

{
  "filter" : [ {
    "descendants.plan_pi" : {
      "values" : [ "956200745322848257" ],
      "operator" : "||"
    },
    "descendants.plan_iteration" : {
      "values" : [ "956200745322848257-child" ],
      "operator" : "||"
    }
  }, {
    "descendants.priority" : {
      "values" : [ "Medium" ],
      "operator" : "||"
    }
  }, {
    "descendants.assignee" : {
      "values" : [ "a360371833bf4c558f796fd707b44daf" ],
      "operator" : "||"
    }
  }, {
    "descendants.status" : {
      "values" : [ "Start" ],
      "operator" : "||"
    }
  }, {
    "parent_id" : {
      "values" : [ "" ],
      "operator" : "||"
    }
  } ],
  "page" : {
    "page_no" : 1,
    "page_size" : 20
  }
}

Example Responses

Status code: 200

Response to a successful request for querying the work item list.

{
  "status" : "success",
  "message" : null,
  "result" : {
    "total" : 1,
    "issues" : [ {
      "promised" : null,
      "type" : "raw requirement",
      "src_domain" : {
        "id" : "965714701520515072",
        "name" : "IPD-System Device-0217",
        "title" : "IPD-System Device-0217",
        "project_id" : "e4b0424709934bd1a54753e70336564d",
        "parent_id" : null,
        "category" : "Project",
        "created_by" : "a360371833bf4c558f796fd707b44daf",
        "model_id" : "10001"
      },
      "domain_id" : {
        "id" : "965714701520515072",
        "name" : "IPD-System Device-0217",
        "title" : "IPD-System Device-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" : "Working",
      "stay_days" : 1,
      "assigned_cc" : null,
      "submit_time" : "1712041275000",
      "workitem2label" : null,
      "close_time" : null,
      "priority" : {
        "id" : "965714705672876036",
        "display_value" : "Medium",
        "value" : "Medium",
        "code" : "Medium",
        "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" : "Test account",
        "role_id" : "8dc2cd191a104148a77f937681f9a5d6,6af50476ba89492698d237fb6fa456d6",
        "role_name" : "Project administrator, Project manager",
        "role_code" : "project_admin,Project manager",
        "image_id" : null,
        "region" : null,
        "has_removed" : null
      },
      "break_status" : {
        "id" : "965714705672876041",
        "display_value" : "Not broken down",
        "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" : "Test account",
        "role_id" : "8dc2cd191a104148a77f937681f9a5d6,6af50476ba89492698d237fb6fa456d6",
        "role_name" : "Project administrator, Project manager",
        "role_code" : "project_admin,Project manager",
        "image_id" : null,
        "region" : null,
        "has_removed" : null
      },
      "region" : "region01",
      "status" : {
        "id" : "965714705815482388",
        "belonging" : "START",
        "space_id" : "965714701520515072",
        "name" : "Analyzing",
        "status_category" : null,
        "code" : "Analyse",
        "definition_type" : "5",
        "belong_definition_type" : 3,
        "belong_scope" : null,
        "display_value" : "Analyzing",
        "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" : "Test account",
        "role_id" : "8dc2cd191a104148a77f937681f9a5d6,6af50476ba89492698d237fb6fa456d6",
        "role_name" : "Project administrator, Project manager",
        "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" : "Test account",
        "role_id" : "8dc2cd191a104148a77f937681f9a5d6,6af50476ba89492698d237fb6fa456d6",
        "role_name" : "Project administrator, Project manager",
        "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" : "Test account",
        "role_id" : "8dc2cd191a104148a77f937681f9a5d6,6af50476ba89492698d237fb6fa456d6",
        "role_name" : "Project administrator, Project manager",
        "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,
      "parent_status" : "no"
    } ]
  }
}

SDK Sample Code

The SDK sample code is as follows.

Java

To query To Do R&D requirements with medium priority, assigned to a specific owner and release sprint, within a standalone software project, refer to the following example:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
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.projectman.v4.region.ProjectManRegion;
import com.huaweicloud.sdk.projectman.v4.*;
import com.huaweicloud.sdk.projectman.v4.model.*;

import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;

public class ListIpdProjectIssuesSolution {

    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);

        ProjectManClient client = ProjectManClient.newBuilder()
                .withCredential(auth)
                .withRegion(ProjectManRegion.valueOf("<YOUR REGION>"))
                .build();
        ListIpdProjectIssuesRequest request = new ListIpdProjectIssuesRequest();
        request.withProjectId("{project_id}");
        SearchIpdIssuesRequestBody body = new SearchIpdIssuesRequestBody();
        PageInfoVO pagebody = new PageInfoVO();
        pagebody.withPageNo(1)
            .withPageSize(20);
        List<String> listFilterValues = new ArrayList<>();
        listFilterValues.add("");
        ConditionVO filterFilter = new ConditionVO();
        filterFilter.withOperator("||")
            .withValues(listFilterValues);
        Map<String, ConditionVO> listFilterFilter1 = new HashMap<>();
        listFilterFilter1.put("parent_id", filterFilter);
        List<String> listFilterValues1 = new ArrayList<>();
        listFilterValues1.add("Start");
        ConditionVO filterFilter2 = new ConditionVO();
        filterFilter2.withOperator("||")
            .withValues(listFilterValues1);
        Map<String, ConditionVO> listFilterFilter3 = new HashMap<>();
        listFilterFilter3.put("descendants.status", filterFilter2);
        List<String> listFilterValues2 = new ArrayList<>();
        listFilterValues2.add("a360371833bf4c558f796fd707b44daf");
        ConditionVO filterFilter4 = new ConditionVO();
        filterFilter4.withOperator("||")
            .withValues(listFilterValues2);
        Map<String, ConditionVO> listFilterFilter5 = new HashMap<>();
        listFilterFilter5.put("descendants.assignee", filterFilter4);
        List<String> listFilterValues3 = new ArrayList<>();
        listFilterValues3.add("Medium");
        ConditionVO filterFilter6 = new ConditionVO();
        filterFilter6.withOperator("||")
            .withValues(listFilterValues3);
        Map<String, ConditionVO> listFilterFilter7 = new HashMap<>();
        listFilterFilter7.put("descendants.priority", filterFilter6);
        List<String> listFilterValues4 = new ArrayList<>();
        listFilterValues4.add("956200745322848257-child");
        ConditionVO filterFilter8 = new ConditionVO();
        filterFilter8.withOperator("||")
            .withValues(listFilterValues4);
        List<String> listFilterValues5 = new ArrayList<>();
        listFilterValues5.add("956200745322848257");
        ConditionVO filterFilter9 = new ConditionVO();
        filterFilter9.withOperator("||")
            .withValues(listFilterValues5);
        Map<String, ConditionVO> listFilterFilter10 = new HashMap<>();
        listFilterFilter10.put("descendants.plan_pi", filterFilter9);
        listFilterFilter10.put("descendants.plan_iteration", filterFilter8);
        List<Map<String, ConditionVO>> listbodyFilter = new ArrayList<>();
        listbodyFilter.add(listFilterFilter1);
        listbodyFilter.add(listFilterFilter3);
        listbodyFilter.add(listFilterFilter5);
        listbodyFilter.add(listFilterFilter7);
        listbodyFilter.add(listFilterFilter10);
        body.withPage(pagebody);
        body.withFilter(listbodyFilter);
        request.withBody(body);
        try {
            ListIpdProjectIssuesResponse response = client.listIpdProjectIssues(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

To query To Do R&D requirements with medium priority, assigned to a specific owner and release sprint, within a standalone software project, refer to the following example:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkprojectman.v4.region.projectman_region import ProjectManRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkprojectman.v4 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 = ProjectManClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(ProjectManRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListIpdProjectIssuesRequest()
        request.project_id = "{project_id}"
        pagebody = PageInfoVO(
            page_no=1,
            page_size=20
        )
        listValuesFilter = [
            ""
        ]
        filterFilter = ConditionVO(
            operator="||",
            values=listValuesFilter
        )
        listFilterFilter1 = {
            "parent_id": filterFilter
        }
        listValuesFilter1 = [
            "Start"
        ]
        filterFilter2 = ConditionVO(
            operator="||",
            values=listValuesFilter1
        )
        listFilterFilter3 = {
            "descendants.status": filterFilter2
        }
        listValuesFilter2 = [
            "a360371833bf4c558f796fd707b44daf"
        ]
        filterFilter4 = ConditionVO(
            operator="||",
            values=listValuesFilter2
        )
        listFilterFilter5 = {
            "descendants.assignee": filterFilter4
        }
        listValuesFilter3 = [
            "Medium"
        ]
        filterFilter6 = ConditionVO(
            operator="||",
            values=listValuesFilter3
        )
        listFilterFilter7 = {
            "descendants.priority": filterFilter6
        }
        listValuesFilter4 = [
            "956200745322848257-child"
        ]
        filterFilter8 = ConditionVO(
            operator="||",
            values=listValuesFilter4
        )
        listValuesFilter5 = [
            "956200745322848257"
        ]
        filterFilter9 = ConditionVO(
            operator="||",
            values=listValuesFilter5
        )
        listFilterFilter10 = {
            "descendants.plan_pi": filterFilter9,
            "descendants.plan_iteration": filterFilter8
        }
        listFilterbody = [
            listFilterFilter1,
            listFilterFilter3,
            listFilterFilter5,
            listFilterFilter7,
            listFilterFilter10
        ]
        request.body = SearchIpdIssuesRequestBody(
            page=pagebody,
            filter=listFilterbody
        )
        response = client.list_ipd_project_issues(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

To query To Do R&D requirements with medium priority, assigned to a specific owner and release sprint, within a standalone software project, refer to the following example:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    projectman "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/projectman/v4"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/projectman/v4/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/projectman/v4/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 := projectman.ProjectManClientBuilder().
         WithRegion(region.ValueOf("<YOUR REGION>")).
         WithCredential(auth).
         SafeBuild()


    if err != nil {
        fmt.Println(err)
        return
    }

    client := projectman.NewProjectManClient(hcClient)

    request := &model.ListIpdProjectIssuesRequest{}
	request.ProjectId = "{project_id}"
	pageNoPage:= int32(1)
	pageSizePage:= int32(20)
	pagebody := &model.PageInfoVo{
		PageNo: &pageNoPage,
		PageSize: &pageSizePage,
	}
	var listValuesFilter = []string{
        "",
    }
	operatorFilter:= "||"
	filterFilter := model.ConditionVo{
		Operator: &operatorFilter,
		Values: &listValuesFilter,
	}
	var listFilterFilter1 = map[string](model.ConditionVo){
        "parent_id": filterFilter,
    }
	var listValuesFilter1 = []string{
        "Start",
    }
	operatorFilter1:= "||"
	filterFilter3 := model.ConditionVo{
		Operator: &operatorFilter1,
		Values: &listValuesFilter1,
	}
	var listFilterFilter4 = map[string](model.ConditionVo){
        "descendants.status": filterFilter3,
    }
	var listValuesFilter2 = []string{
        "a360371833bf4c558f796fd707b44daf",
    }
	operatorFilter2:= "||"
	filterFilter6 := model.ConditionVo{
		Operator: &operatorFilter2,
		Values: &listValuesFilter2,
	}
	var listFilterFilter7 = map[string](model.ConditionVo){
        "descendants.assignee": filterFilter6,
    }
	var listValuesFilter3 = []string{
        "Medium",
    }
	operatorFilter3:= "||"
	filterFilter9 := model.ConditionVo{
		Operator: &operatorFilter3,
		Values: &listValuesFilter3,
	}
	var listFilterFilter10 = map[string](model.ConditionVo){
        "descendants.priority": filterFilter9,
    }
	var listValuesFilter4 = []string{
        "956200745322848257-child",
    }
	operatorFilter4:= "||"
	filterFilter12 := model.ConditionVo{
		Operator: &operatorFilter4,
		Values: &listValuesFilter4,
	}
	var listValuesFilter5 = []string{
        "956200745322848257",
    }
	operatorFilter5:= "||"
	filterFilter13 := model.ConditionVo{
		Operator: &operatorFilter5,
		Values: &listValuesFilter5,
	}
	var listFilterFilter14 = map[string](model.ConditionVo){
        "descendants.plan_pi": filterFilter13,
        "descendants.plan_iteration": filterFilter12,
    }
	var listFilterbody = []map[string](model.ConditionVo){
        listFilterFilter1,
        listFilterFilter4,
        listFilterFilter7,
        listFilterFilter10,
        listFilterFilter14,
    }
	request.Body = &model.SearchIpdIssuesRequestBody{
		Page: pagebody,
		Filter: &listFilterbody,
	}
	response, err := client.ListIpdProjectIssues(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

More

For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.

Status Codes

Status Code

Description

200

Response to a successful request for querying the work item list.

400

Error message.

Error Codes

See Error Codes.