Updated on 2026-10-13 GMT+08:00

Creating a change review

Function

This API is used to create a change review. When the change object is an RR or a bug, the value of approver of CO is the id in the response body of the Querying Change Object Decision-Makers API.

Calling Method

For details, see Calling APIs.

Authorization Information

Each account root user has all the permissions required to call all APIs, but IAM users must be assigned the following required identity policy-based permissions. For details about the required permissions, see Permissions Policies and Supported Actions.

Action

Access Level

Resource Type (*: required)

Condition Key

Alias

Dependencies

codeartsreq:review:create

Write

-

  • codeartsreq:Model

  • codeartsreq:ProjectId

-

-

URI

POST /v1/ipdprojectservice/projects/{project_id}/review

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 API for querying the IPD project list. The value of id in the response message body is the project ID.

Constraints

N/A

Range

A string of 32 characters consisting of letters and digits.

Default Value

N/A

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

category

Yes

String

Definition

Review type.

Constraints

CR only.

Range

CR only.

Default Value

N/A

title

Yes

String

Definition

Review title.

Constraints

1 to 256 characters.

Range

N/A

Default Value

N/A

description

No

String

Definition

Review description.

Constraints

1 to 50,000 characters.

Range

N/A

Default Value

N/A

need_approval

No

Boolean

Definition

Whether the review needs to be approved by the decision-maker.

Constraints

N/A

Range

  • true: Approval by the decision-maker is required.

  • false: Approval by the decision-maker is not required.

Default Value

true

status

Yes

ReviewStatusEntity object

Definition

Review status.

cc

No

Array of ReviewCreateUserEntity objects

Definition

List of CC recipients.

cos

Yes

Array of COCreateEntity objects

Definition

Review object list.

plan_end_date

No

String

Definition

Planned completion date.

Constraints

N/A

Range

Timestamp.

Default Value

N/A

plan_start_date

No

String

Definition

Planned start date.

Constraints

N/A

Range

Timestamp.

Default Value

N/A

Table 3 ReviewStatusEntity

Parameter

Mandatory

Type

Description

code

Yes

String

Definition

Review status code.

Constraints

N/A

Range

  • ToBeReviewed

  • ToBeApproved

  • Committed

  • Canceled

  • ReCommitted

  • Rejected

Default Value

N/A

Table 4 ReviewCreateUserEntity

Parameter

Mandatory

Type

Description

id

Yes

String

Definition

User ID. Obtain a user ID by calling the API for querying project members. The value of id in the response message body is a user ID.

Constraints

A string of 32 characters consisting of lowercase letters and digits.

Range

N/A

Default Value

N/A

Table 5 COCreateEntity

Parameter

Mandatory

Type

Description

issue_id

Yes

String

Definition

ID of the work item associated with a change object. You can obtain the value from the Querying Work Items or Querying Tree-shaped Work Items API. The value is id in the response body.

Constraints

A string of 18 to 19 digits.

Range

N/A

Default Value

N/A

issue_number

Yes

String

Definition

ID of the work item associated with the change object, which is automatically generated by the system.

Constraints

N/A

Range

N/A

Default Value

N/A

issue_category

Yes

String

Definition

Work item type of the change object.

Constraints

N/A

Range

  • RR: raw requirement

  • SF: system feature

  • IR: R&D requirement

  • SR: system requirement

  • AR: allocated requirement

  • US: user story

  • Bug: defect

Default Value

N/A

change_type

Yes

String

Definition

Change type, which identifies the type of operation performed on a work item.

Constraints

N/A

Range

Modify

Move: migrate

Delete

ModifyPlan: move it into or out of the baselined release or sprint

Default Value

N/A

before_change

Yes

String

Definition

Change object content before modification, in JSON format.

Constraints

The value is a JSON string, including the view node.

Range

N/A

Default Value

N/A

after_change

Yes

String

Definition

Change object content after modification, in JSON format.

Constraints

The value is a JSON string. It must contain the execute node, and the execute node must be in the flat key:value format.

Range

N/A

Default Value

N/A

reviewer

Yes

Array of strings

Definition

List of IDs of change object review experts. Use commas (,) to separate multiple user IDs.

Constraints

Each user ID is a 32-bit UUID.

Range

A maximum of 10 review experts are allowed.

Default Value

N/A

approver

Yes

Array of strings

Definition

Array of change object decision-maker user IDs. For change objects of the RR/Bug type, the decision-makers need to be obtained through the Querying Change Object Decision-Makers API.

Constraints

Each user ID is a 32-bit UUID, and the array elements are unique.

Range

A maximum of 10 decision-makers are allowed.

Default Value

N/A

description

No

String

Definition

Description of the change object, which describes the background and reason for the change.

Constraints

N/A

Range

Max. 50,000 characters.

Default Value

N/A

Response Parameters

Status code: 200

Table 6 Response body parameters

Parameter

Type

Description

status

String

Definition

Response status.

Range

  • success: The response is successful.

  • error: The response fails.

message

String

Definition

Response message.

Range

N/A

result

ReviewEntity object

Review details

Table 7 ReviewEntity

Parameter

Type

Description

id

String

Definition

Review ID.

Range

N/A

number

String

Definition

Review No.

Range

N/A

state

String

Definition

Lifecycle of a review.

Range

  • In use: work items that can be operated properly

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

title

String

Definition

Review title.

Range

N/A

category

String

Definition

Review type.

Range

CR (change review), BR (baseline review), and GR (general review).

created_by

UserEntity object

Definition

Review creator.

modified_by

UserEntity object

Definition

Last modifier of a review.

assigned_cc

Array of UserEntity objects

Definition

Cc recipient of a review.

created_time

String

Definition

Creation timestamp of a review.

Range

N/A

modified_time

String

Definition

Timestamp when a review was last modified.

Range

N/A

plan_end_date

String

Definition

Timestamp of the planned completion date.

Range

N/A

plan_start_date

String

Definition

Timestamp of the planned start date.

Range

N/A

close_time

String

Definition

Review completion time.

Range

N/A

need_approval

String

Definition

Whether the review needs to be approved by the decision-maker.

Range

true and false

status

StatusEntity object

Definition

Review status.

description

String

Definition

Review description.

Range

N/A

closed_time

String

Definition

Review completion time.

Range

N/A

approver

String

Definition

Decision-maker ID.

Range

N/A

reviewer

String

Definition

ID of a review expert.

Range

N/A

cos

Array of COEntity objects

Definition

Review object list.

ccbs

Array of CcbEntity objects

Definition

Approval information lists.

old_status

StatusEntity object

Definition

Historical review status.

cc

Array of UserEntity objects

Definition

List of CC recipients.

Table 8 COEntity

Parameter

Type

Description

after_change

String

Definition

Change object content after change.

Range

N/A

review_complete_time

String

Definition

Review completion time of the change object.

Range

N/A

review_phase_result

String

Definition

Review result of the change object.

Range

  • Approved

  • Rejected (for CRs)

  • TurnBacked (for BRs/GRs)

review_time

String

Definition

Review time of the change object.

Range

N/A

before_change

String

Definition

Work item content before change.

Range

N/A

category

String

Definition

Work item type of the change object. The value is fixed to CO.

Range

N/A

ccb_info

CcbEntity object

Definition

Actual decision-maker of the change object.

Range

N/A

ccbs

Array of UserEntity objects

Definition

List of decision makers for the change object. The list contains only one element.

Range

N/A

change_type

String

Definition

Change type.

Range

Modify

Move: migrate

Delete

ModifyPlan: move it into or out of the baselined release or sprint

co2review

String

Definition

ID of the review associated with a change object.

Range

N/A

created_by

String

Definition

Creator ID of a change object.

Range

N/A

created_date

String

Definition

Time when a change object is created.

Range

N/A

description

String

Definition

Description of a change object.

Range

N/A

id

String

Definition

Change object ID.

Range

N/A

issue_id

String

Definition

ID of the work item associated with a change object.

Range

N/A

issue_number

String

Definition

ID of the work item associated with a change object.

Range

N/A

issue_category

String

Definition

Type of the work item associated with a change object.

Range

N/A

modified_by

String

Definition

ID of the last modifier of a change object.

Range

N/A

modified_date

String

Definition

Last modification time of a change object.

Range

N/A

opinions

Array of UserEntity objects

Definition

List of change object review expert IDs (used when a change review is created).

Range

N/A

opinion_comments

Array of ReviewOpinionEntity objects

Definition

Review comments on a change object.

Range

N/A

review_comments

Array of ReviewCommentEntity objects

Definition

Review comments on a change object (for review update).

Range

N/A

approval_comments

Array of ReviewCommentEntity objects

Definition

Decision-making comments on a change object (for decision-making update).

Range

N/A

reviewer

Array of strings

Definition

List of change object review expert IDs.

Range

N/A

approver

Array of strings

Definition

Array of change object decision-maker IDs.

Range

N/A

status

String

Definition

Change object status.

Range

  • Canceled: The review form is canceled.

  • ToBeCommitted: The review form is saved.

  • ToBeReviewed: The review form is to be reviewed.

  • ToBeApproved: The review form is to be decided.

  • Approved: The review form is approved.

  • TurnBacked: The review form is turned back.

  • Rejected: The review form is rejected.

  • End: The review form is completed.

  • Passed: The review form is passed.

Table 9 CcbEntity

Parameter

Type

Description

approval_time

String

Definition

Approval time.

Range

N/A

category

String

Definition

Work item type. The value is fixed at CCB.

Range

N/A

ccb2review

String

Definition

ID of the review associated with an approval object.

Range

N/A

co_id

String

Definition

ID of the associated change object.

Range

N/A

id

String

Definition

Approval object ID.

Range

N/A

owner

UserEntity object

Definition

Decision-maker.

Range

N/A

approval_comments

String

Definition

Approval comments.

Range

N/A

Table 10 ReviewOpinionEntity

Parameter

Type

Description

category

String

Definition

Review comment object type. The value is fixed at Opinion.

Range

N/A

co_id

String

Definition

ID of the change object associated with the review comment object.

Range

N/A

created_by

UserEntity object

Definition

Review expert who creates the review comment.

Range

N/A

created_date

String

Definition

Review comment creation time.

Range

N/A

curr_owner

UserEntity object

Definition

Current review expert.

Range

N/A

id

String

Definition

Review comment object ID.

Range

N/A

modified_date

String

Definition

Last modification time of a review comment.

Range

N/A

review_comments

String

Definition

Review comment.

Range

N/A

Table 11 ReviewCommentEntity

Parameter

Type

Description

id

String

Definition

Review comment object ID.

Range

N/A

user_id

String

Definition

Reviewer ID.

Range

N/A

other_user_id

String

Definition

ID of the review receiver (during review transfer).

Range

N/A

result

String

Definition

Review result.

Range

N/A

comment

String

Definition

Review comment.

Range

N/A

Table 12 UserEntity

Parameter

Type

Description

id

String

Definition

User ID. Obtain it by calling the API for querying project members. The value of id in the response message body is the user ID.

Range

N/A

name

String

Definition

Username.

Range

2 to 64 characters.

nick_name

String

Definition

User alias.

Range

2 to 30 characters

Table 13 StatusEntity

Parameter

Type

Description

id

String

Definition

Status ID.

Range

N/A

belonging

String

Definition

Work item status.

Range

START, IN_PROGRESS, and END

display_value

String

Definition

Status name.

Range

N/A

code

String

Definition

Unique status ID.

Range

N/A

created_by

String

Definition

Status creator.

Range

N/A

created_time

String

Definition

Status creation time.

Range

N/A

modified_by

String

Definition

Status modifier.

Range

N/A

modified_time

String

Definition

Latest modification time of a status.

Range

N/A

category_code

Array of strings

Definition

Work items that use the status.

Status code: 400

Table 14 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

Range

N/A

error_msg

String

Definition

Error description, which is a supplement to error_code.

Range

N/A

Example Requests

Creating a change review

POST https://{endpoint}/v1/ipdprojectservice/projects/{project_id}/review

{
  "title" : "21-CR-10x",
  "description" : "<p><strong>[Change Review Background]</strong></p><p>1</p><p><strong>[Change Review Value] </strong></p><p><br></p><p><strong>[Change Review Details]</strong></p>",
  "category" : "CR",
  "need_approval" : true,
  "status" : {
    "code" : "ToBeReviewed"
  },
  "cc" : [ {
    "id" : "a360371833bf4c558f796fd707b44daf"
  } ],
  "cos" : [ {
    "issue_number" : "BUG20241209780441",
    "issue_id" : "1072968362439385089",
    "issue_category" : "Bug",
    "change_type" : "Modify",
    "before_change" : "{\"view\":{\"description\":\"<p>[Fault Symptom]</p><p><br></p><p>[Environment Information]</p><p><br></p><p>[Onsite Fault Locating Engineer]</p><p><br></p><p>[Preliminary Cause]</p>\"}}",
    "after_change" : "{\"view\":{\"description\":\"<p>[Fault Symptom]</p><p>x</p><p>[Environment Information]</p><p><; br></p><p>[Onsite Fault Locating Engineer]</p><p><br></p><; p>[Preliminary Cause] </p>\"},\"execute\":{\"description\":\"<p>[Fault Symptom]</p><p>x</p><p>[Environment Information]</p>; <p><br></p><p>[Onsite Fault Locating Engineer]</p><p><br>< /p><p>[Preliminary Cause]</p>\"}}",
    "approver" : [ "a360371833bf4c558f796fd707b44daf" ],
    "reviewer" : [ "a360371833bf4c558f796fd707b44daf" ]
  } ],
  "plan_start_date" : "1733673600000",
  "plan_end_date" : "1735574400000"
}

Example Responses

Status code: 200

{
  "status" : "success",
  "result" : {
    "id" : "1073568012549795840",
    "number" : "CR20241211782294",
    "state" : "Working",
    "title" : "21-CR-10x",
    "category" : "CR",
    "created_by" : {
      "id" : "a360371833bf4c558f796fd707b44daf",
      "name" : "devcloud_devcloud_01",
      "nick_name" : "Test account"
    },
    "modified_by" : {
      "id" : "a360371833bf4c558f796fd707b44daf",
      "name" : "devcloud_devcloud_01",
      "nick_name" : "Test account"
    },
    "created_time" : "1733888160000",
    "modified_time" : "1733888160000",
    "plan_end_date" : "1735574400000",
    "plan_start_date" : "1733673600000",
    "need_approval" : "true",
    "status" : {
      "display_value" : "Pending review",
      "code" : "ToBeReviewed"
    },
    "description" : "<p><strong>[Change Review Background]</strong></p><p>1</p><p><strong>[Change Review Value] </strong></p><p><br></p><p><strong>[Change Review Details]</strong></p>",
    "cos" : [ {
      "after_change" : "{\"view\":{\"description\":\"<p>[Fault Symptom]</p><p>x</p><p>[Environment Information]</p><p><br></p><p>[Onsite Fault Locating R&D Engineer]</p><p><br></p><p>[Preliminary Fault Locating]</p>\"},\"execute\":{\"description\":\"<p>[Fault Symptom]</p><p>x</p><p>[Environment Information]</p><p><br></p><p>[Onsite Fault Locating R&D Engineer]</p><p><br></p><p>[Preliminary Fault Locating]</p>\"},\"snapshot\":{\"found_iteration\":null,\"type\":\"bug\",\"test_failures_times\":\"0\",\"number\":\"BUG20241209780441\",\"convolution_actual_hours\":null,\"path\":\"/1072968362439385089\",\"workload_man_day\":null,\"id\":\"1072968362439385089\",\"state\":\"Working\",\"sys_no_repair_reason\":null,\"module\":null,\"priority\":null,\"found_env\":null,\"sys_activation_reason\":null,\"assignee\":{\"watcher\":0,\"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\":\"257bbf34272649dd909bb35dfe27d126,05d9444b66cc4d5090ef3180a3096c91\",\"role_name\":\"Project manager,Project admin\",\"role_alias_name\":\"Project manager,Project admin\",\"role_code\":\"Project manager,project_admin\",\"image_id\":\"\",\"region\":\"\",\"has_removed\":\"\"},\"close_type\":null,\"status\":{\"id\":\"1072203303913304105\",\"belonging\":\"START\",\"space_id\":\"1072203303493873664\",\"name\":\"Analyzing\",\"status_category\":\"\",\"code\":\"Analyse\",\"definition_type\":\"5\",\"belong_definition_type\":3,\"belong_scope\":\"\",\"display_value\":\"Analyzing\",\"position\":2,\"displayable\":1,\"editable\":1,\"deletable\":1,\"mutable\":1,\"title_py\":\"fx\",\"builtin\":false,\"label\":\"\",\"description\":\"\",\"created_by\":\"a360371833bf4c558f796fd707b44daf\",\"created_userinfo\":null,\"created_on\":\"\",\"created_date\":1733591588000,\"modified_date\":1733591588000,\"modified_by\":\"a360371833bf4c558f796fd707b44daf\",\"category_code\":[],\"editing_fields\":[],\"associate\":null,\"linkage_node_fields\":false},\"tenant_id\":\"4e919d73499648e3b0292cd3cbef806a\",\"plan_pi\":null,\"repair_solution\":null,\"plan_end_date\":null,\"expected_repair_date\":null,\"plan_iteration\":null,\"cascade_delete\":\"none\",\"issue_opinion_id\":null,\"modified_by\":{\"watcher\":0,\"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\":\"257bbf34272649dd909bb35dfe27d126,05d9444b66cc4d5090ef3180a3096c91\",\"role_name\":\"Project manager,Project admin\",\"role_alias_name\":\"Project manager,Project admin\",\"role_code\":\"Project manager,project_admin\",\"image_id\":\"\",\"region\":\"\",\"has_removed\":\"\"},\"position_float\":\"10000000000.0000000000\",\"belong_inside\":\"1\",\"regression_failure_number\":\"0\",\"src_domain\":{\"id\":\"1072203303493873664\",\"name\":\"beta-m2-wyl-021\",\"title\":\"beta-m2-wyl-021\",\"project_id\":\"b248a70bc6434e6bad54c8e73a222dca\",\"parent_id\":\"\",\"category\":\"Project\",\"created_by\":\"a360371833bf4c558f796fd707b44daf\",\"model_id\":\"10002\",\"children\":[]},\"domain_id\":{\"id\":\"1072203303493873664\",\"name\":\"beta-m2-wyl-021\",\"title\":\"beta-m2-wyl-021\",\"project_id\":\"b248a70bc6434e6bad54c8e73a222dca\",\"parent_id\":\"\",\"category\":\"Project\",\"created_by\":\"a360371833bf4c558f796fd707b44daf\",\"model_id\":\"10002\",\"children\":[]},\"send_from\":\"\",\"send_to\":\"\",\"stay_days\":2,\"test_report\":null,\"assigned_cc\":null,\"return_reason\":null,\"submit_time\":1733745191791,\"workitem2label\":null,\"close_time\":null,\"modified_date\":1733887226000,\"created_by\":{\"watcher\":0,\"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\":\"257bbf34272649dd909bb35dfe27d126,05d9444b66cc4d5090ef3180a3096c91\",\"role_name\":\"Project manager,Project admin\",\"role_alias_name\":\"Project manager,Project admin\",\"role_code\":\"Project manager,project_admin\",\"image_id\":\"\",\"region\":\"\",\"has_removed\":\"\"},\"activate_times\":\"0\",\"status_modified_date\":1733745192515,\"parent_id\":null,\"business_domain\":null,\"found_pi\":null,\"region\":\"example\",\"reason_analysis\":null,\"link\":\"\",\"is_suspended\":null,\"origin_id\":\"1072968362439385089\",\"change_status\":{\"id\":\"1072203303896526856\",\"display_value\":\" unchange\",\"value\":\"unchange\",\"code\":\"unchange\",\"value_py\":\"unchange\",\"sequence\":1.0,\"level\":1,\"domain_id\":\"1072203303493873664\",\"belong_definition_type\":\"5\"},\"title\":\"21-Bug-01\",\"sum_workload_man_day\":null,\"plan_start_date\":null,\"severity\":{\"id\":\"1072203303896526851\",\"display_value\":\" Info\",\"value\":\"Info\",\"code\":\"Info\",\"value_py\":\"ts\",\"sequence\":1.0,\"level\":1,\"domain_id\":\"1072203303493873664\",\"belong_definition_type\":\"5\"},\"convolution_plan_hours\":null,\"submitted_by\":[{\"watcher\":0,\"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\":\"257bbf34272649dd909bb35dfe27d126,05d9444b66cc4d5090ef3180a3096c91\",\"role_name\":\"Project manager,Project admin\",\"role_alias_name\":\"Project manager,Project admin\",\"role_code\":\"Project manager,project_admin\",\"image_id\":\"\",\"region\":\"\",\"has_removed\":\"\"}],\"sys_return_reason\":null,\"issue_review_id\":null,\"created_date\":1733745192388,\"category\":\"Bug\",\"setup\":true,\"collaborative_status\":[],\"parent_status\":\"no\"}}",
      "before_change" : "{\"view\":{\"description\":\"<p>[Fault Symptom]</p><p><br></p><p>[Environment Information]</p><p><br></p><p>[Onsite Fault Locating Engineer]</p><p><br></p><p>[Preliminary Cause]</p>\"}}",
      "category" : "CO",
      "ccbs" : [ {
        "id" : "a360371833bf4c558f796fd707b44daf",
        "name" : "devcloud_devcloud_01",
        "nick_name" : "Test account"
      } ],
      "change_type" : "Modify",
      "co2review" : "1073568012549795840",
      "created_by" : "a360371833bf4c558f796fd707b44daf",
      "created_date" : "1733888157000",
      "description" : "<p>[Fault Symptom]</p><p><br></p><p>[Environment Information]</p><p><br></p><p>[Onsite Fault Locating R&D Engineer]</p><p><br></p><p>[Preliminary Fault Locating]</p>",
      "id" : "1073568002185670656",
      "issue_id" : "1072968362439385089",
      "issue_number" : "BUG20241209780441",
      "issue_category" : "Bug",
      "modified_by" : "a360371833bf4c558f796fd707b44daf",
      "modified_date" : "1733888157000",
      "opinions" : [ { } ],
      "approver" : [ "a360371833bf4c558f796fd707b44daf" ],
      "reviewer" : [ "a360371833bf4c558f796fd707b44daf" ],
      "status" : "ToBeReviewed"
    } ],
    "cc" : [ {
      "id" : "a360371833bf4c558f796fd707b44daf",
      "name" : "devcloud_devcloud_01",
      "nick_name" : "Test account"
    } ]
  }
}

Status code: 400

{
  "error_code" : "PM.02174103",
  "error_msg" : "No permission."
}

Status Codes

Status Code

Description

200

OK

400

Response upon a request failure. For example, the user does not have the operation permission or the project does not exist.

Error Codes

See Error Codes.