Reviewing a Merge Request
Function
This API is used to review a merge request.
Debugging
You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.
URI
PUT https://{hostURL}/v4/repositories/{repository_id}/merge-requests/{merge_request_iid}/approval-review
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| repository_id | Yes | Integer | Definition You can query the project list to obtain the repository ID by calling the API used to query user's all repositories. Constraints N/A. Value range: 1~2147483647 |
| merge_request_iid | Yes | Integer | Definition MR internal ID (IID). Value range: 1~2147483647 |
Request Parameters
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| X-Auth-Token | Yes | String | Definition User token. Obtain a token by calling the IAM API for obtaining a user token. The value of X-Subject-Token in the response header is the user token. Constraints Mandatory. Range 1–100,000 characters. Default Value N/A. |
| Parameter | Mandatory | Type | Description |
|---|---|---|---|
| action_type | No | String | Definition Approving/Review. |
| approver_comment | No | String | Definition Approving remarks. Range N/A. |
Response Parameters
Status code: 201
| Parameter | Type | Description |
|---|---|---|
| [items] | Array of ApproverBasicDto objects | Get a merge request approver info |
| Parameter | Type | Description |
|---|---|---|
| id | Integer | Definition User ID. Value range: 1~2147483647 |
| name | String | Definition Username. |
| username | String | Definition Username. |
| name_cn | String | Definition Name (CN). Range N/A. |
| | String | Definition Email. Range N/A. |
| state | String | Definition Status. |
| updated_at | String | Definition Update time. Range N/A. |
| avatar_url | String | Definition Profile picture link. Range N/A. |
| nick_name | String | Definition Alias. Range N/A. |
| tenant_name | String | Definition Tenant name. Range N/A. |
| approver_comment | String | Definition Approving remarks. Range N/A. |
Status code: 401
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Definition Error code. |
| error_msg | String | Definition Error message. |
Status code: 403
| Parameter | Type | Description |
|---|---|---|
| error_code | String | Definition Error code. |
| error_msg | String | Definition Error message. |
Example Requests
PUT https://{endpoint}/v4/projects/a642c851d4dc4853b595e5c8a5e56df7/hooks/1
[ {
"action_type" : "complete"
}, {
"approver_comment" : ""
} ] Example Responses
Status code: 201
OK
[ {
"id" : 10311,
"avatar_url" : "",
"email" : "",
"name" : "dev1",
"name_cn" : "Test account 1",
"nick_name" : "dev1_nick",
"state" : true,
"tenant_name" : "example_name",
"updated_at" : "2025-04-27T19:35:16.708+08:00",
"username" : "dev2"
} ] Status code: 401
Unauthorized
{
"error_code" : "DEV.00000003",
"error_msg" : "Authentication information expired."
} Status code: 403
Bad Request
{
"error_code" : "CH.004403",
"error_msg" : "Insufficient permissions. Apply for the required permissions and try again."
} Status Codes
| Status Code | Description |
|---|---|
| 201 | OK |
| 401 | Unauthorized |
| 403 | Bad Request |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.