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.
URI
POST /v1/ipdprojectservice/projects/{project_id}/review
| 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
| 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 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 |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| code | Yes | String | Definition Review status code. Constraints N/A Range Default Value N/A |
| 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 |
| 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 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
| Parameter | Type | Description |
|---|---|---|
| status | String | Definition Response status. Range |
| message | String | Definition Response message. Range N/A |
| result | ReviewEntity object | Review details |
| 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 |
| 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. |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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
| 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.
What is your overall rating for this page?
Thank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot