Help Center/ CodeArts Repo/ API Reference/ Historical APIs/ Review/ Replying to MR Review Comments (Deprecated)
Updated on 2026-01-27 GMT+08:00

Replying to MR Review Comments (Deprecated)

Function

This API is used to reply to an MR review.

This API has been deprecated. Use the API described in Replying to Merge Request Review Comments.

URI

POST /v2/repositories/{repository_id}/merge_requests/{merge_request_iid}/discussions/{discussion_id}/notes

Table 1 Path parameters

Parameter

Mandatory

Type

Description

repository_id

Yes

Integer

Explanation

Repository ID.

Constraints

Mandatory

Range

Minimum value: 1

Maximum value: 2147483647

merge_request_iid

Yes

Integer

Explanation

MR IID (MR sequence number in the repository).

Constraints

Mandatory

Range

Minimum value: 1

Maximum value: 2147483647

discussion_id

Yes

String

Comment ID

Request Parameters

Table 2 Request header parameter

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Explanation

User token. It can be obtained by calling the corresponding IAM API. The value of X-Subject-Token in the response header is the user token.

Constraints

Mandatory

Range

1–100,000 characters.

Default value

None.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

body

Yes

String

Explanation

Review comment content.

Constraints

Mandatory

Range

Maximum length: 8,000 characters.

Characters: Unicode \u0000 to \uffff. Special characters, such as emojis and uncommon characters, are not supported.

Blank: The value cannot be null, an empty string, or only spaces.

Response Parameters

Status code: 200

Table 4 Response body parameters

Parameter

Type

Description

error

Error object

Explanation

Response error code.

result

NoteDto object

Explanation

Review comment information.

Range

None.

status

String

Explanation

Response status.

Range

  • success: The API call is successful.
  • failed: The API call failed.
Table 5 Error

Parameter

Type

Description

code

String

Explanation

Error code returned when the API fails to be called.

Range

  • CH.10000. The system is busy. Try again later.

message

String

Explanation

Error message returned when the API fails to be called.

Range

  • The system is busy. Try again later.
Table 6 NoteDto

Parameter

Type

Description

id

Integer

Explanation

Comment ID, which is not shared by the main comment and replies.

Range

Minimum value: 1

Maximum value: 2147483647

type

String

Explanation

Note type.

Range

  • DiffNote: A comment that needs to be resolved on the file change page.
  • MergeRequestNote: A comment that needs to be resolved on the details page.
  • null: A comment that does not need to be resolved on the details page.

body

String

Explanation

Review comment content.

Range

Maximum length: 8,000 characters.

Characters: Unicode \u0000 to \uffff. Special characters, such as emojis and uncommon characters, are not supported.

Blank: The value cannot be null, an empty string, or only spaces.

attachment

String

Explanation

Attachment. (This field has been discarded.)

Range

None.

author

UserBasicDto object

Explanation

Author details.

Range

None.

created_at

String

Explanation

Creation time.

Constraints

Format: yyyy-MM-ddTHH:mm:ss.SSS+08:00

updated_at

String

Explanation

Update time.

Constraints

Format: yyyy-MM-ddTHH:mm:ss.SSS+08:00

system

Boolean

Explanation

Whether the comment is generated by the system.

Range

  • true: Yes. The comment is created by the system.
  • false: No. The comment is created by a user.

noteable_id

Integer

Explanation

MR ID.

Range

Minimum value: 1

Maximum value: 2147483647

noteable_type

String

Explanation

Comment type.

Range

  • MergeRequest: Comment for MR or CR (When you select a commit under an MR or CR and add a review comment, the comment is still of the MergeRequest type).
  • Commit: Comment for code or a specific commit.

commit_id

String

Explanation

Associated commit ID: SHA value of a commit. This field applies when noteable_type is set to Commit.

Range

40 digits and letters.

resolvable

Boolean

Explanation

Whether the comment needs to be resolved.

Range

  • true: Yes
  • false or null: No

is_reply

Boolean

Explanation

Whether the comment is a reply.

Range

  • true: Yes. The comment is a reply.
  • false: No. The comment is a main comment.

resolved_by

UserBasicDto object

Explanation

Comment resolver.

Range

None.

noteable_iid

Integer

Explanation

MR IID, indicating the sequence number of the MR in the repository.

Range

Minimum value: 1

Maximum value: 2147483647

discussion_id

String

Explanation

Review comment ID, which is shared by the main comment and replies.

Range

40 digits and letters.

project

String

Explanation

Project path.

Range

None.

diff_file

String

Explanation

File path change.

Range

None.

diff

String

Explanation

File content change.

Range

None.

archived

Boolean

Explanation

Whether the review comment has been archived. Archived comments cannot be edited, deleted, replied, or resolved.

Range

  • true: Yes
  • false or null: No

review_categories

String

Explanation

Comment type key.

The values of review_categories and review_categories_cnreview_categories_en must match.

Range

None.

review_categories_cn

String

Explanation

Comment type in Chinese.

The values of review_categories and review_categories_cn must match.

Range

None.

review_categories_en

String

Explanation

Comment type in English.

The values of review_categories and review_categories_en must match.

Range

None.

review_modules

String

Explanation

Review comment module.

Range

None.

severity

String

Explanation

Severity. Non-suggestion reviews cannot be resolved by the assignee, MR creator, or committer.

Range

  • suggestion
  • minor
  • major
  • fatal

severity_cn

String

Explanation

Severity in Chinese.

Range

  • Suggestion
  • Minor
  • Major
  • Fatal

severity_en

String

Explanation

Severity in English.

Range

  • Suggestion
  • Minor
  • Major
  • Fatal

file_path

String

Explanation

File path. (This field has been discarded.)

Range

None.

line

String

Explanation

Line number. (This field has been discarded.)

Range

None.

assignee

UserBasicDto object

Explanation

Assignee details.

Range

None.

proposer

UserBasicDto object

Explanation

Reviewer details.

Range

None.

position

PositionDto object

Explanation

Code location information to associate the comment with.

Range

None.

resolved

Boolean

Explanation

Whether the review comment has been resolved.

Range

  • true: Yes
  • false or null: No

is_outdated

Boolean

Explanation

Whether the review comment is for the latest commit.

Range

  • true: Yes
  • false or null: No
Table 7 UserBasicDto

Parameter

Type

Description

id

Integer

Explanation

User ID.

Range

Minimum value: 1

Maximum value: 2147483647

name

String

Explanation

Name.

Range

Max. 255 characters.

username

String

Explanation

Username.

Range

Max. 255 characters.

state

String

Explanation

Status.

Range

Max. 255 characters.

avatar_url

String

Explanation

URL for obtaining the profile picture.

Range

None.

avatar_path

String

Explanation

Path for obtaining the profile picture.

Range

None.

email

String

Explanation

Email address.

Range

None.

name_cn

String

Explanation

Chinese name.

Constraints

The value is the same as that of username. This field has been discarded.

Range

None.

web_url

String

Explanation

Homepage URL.

Range

None.

nick_name

String

Explanation

Alias.

Range

None.

tenant_name

String

Explanation

Tenant name.

Range

None.

Table 8 PositionDto

Parameter

Type

Description

base_sha

String

Explanation

Base commit node of the source branch.

Range

40 digits and letters.

start_sha

String

Explanation

Latest commit node of the source branch.

Range

40 digits and letters.

head_sha

String

Explanation

Latest commit node of the target branch.

Range

40 digits and letters.

old_path

String

Explanation

Old file path.

Range

None.

new_path

String

Explanation

New file path.

Range

None.

position_type

String

Explanation

Change type.

Range

None.

Default value

text

old_line

Integer

Explanation

Line number before change. If the value is less than or equal to 0 or is null, the line is new and displayed in green on the right for comparison.

Range

–1 to 2147483647 or null

new_line

Integer

Explanation

New line No.

If the value is less than or equal to 0 or is null, the line is deleted and displayed in red on the left for comparison.

Range

–1 to 2147483647 or null

Example Requests

POST https://{endpoint}/v2/repositories/{repository_id}/merge_requests/{merge_request_iid}/discussions/{discussion_id}/notes

{
  "body" : "Reply content"
}

Example Responses

Status code: 200

OK

{
    "result": {
        "id": 2111974340,
        "type": "DiffNote",
        "body": "Reply content",
        "author": {
            "id": 9124,
            "name": "CodeHub_beta_dev",
            "username": "c369c68f1ff84679b5a8ed904d8bff1c",
            "state": "active",
            "avatar_url": "",
            "email": "liujian@example.com",
            "name_cn": "CodeHub_beta_dev",
            "web_url": "https://test.com/c369c68f1ff84679b5a8ed904d8bff1c",
            "nick_name": "Alias",
            "tenant_name": "devcloud_codehub_l00314597_01"
        },
        "created_at": "2024-07-30T10:47:54.000+08:00",
        "updated_at": "2024-07-30T10:47:54.000+08:00",
        "system": false,
        "noteable_id": 38517,
        "noteable_type": "MergeRequest",
        "resolvable": true,
        "is_reply": true,
        "noteable_iid": 18,
        "discussion_id": "996f57b8fdd5e62678b16f0ea4f91688405fa72f",
        "project": "sll_test00006/mr_test",
        "diff_file": "a.txt",
        "diff": "@@ -0,0 +1,0 @@\n+1\r\n",
        "archived": false,
        "review_categories": "Type",
        "review_categories_cn": "Type",
        "review_categories_en": "Type",
        "review_modules": "Module",
        "severity": "suggestion",
        "severity_cn": "Suggestion",
        "severity_en": "Suggestion",
        "assignee": {
            "id": 9124,
            "name": "CodeHub_beta_dev",
            "username": "c369c68f1ff84679b5a8ed904d8bff1c",
            "state": "active",
            "avatar_url": "",
            "email": "liujian@example.com",
            "name_cn": "CodeHub_beta_dev",
            "web_url": "https://test.com/c369c68f1ff84679b5a8ed904d8bff1c",
            "nick_name": "Alias",
            "tenant_name": "devcloud_codehub_l00314597_01"
        },
        "proposer": {
            "id": 9124,
            "name": "CodeHub_beta_dev",
            "username": "c369c68f1ff84679b5a8ed904d8bff1c",
            "state": "active",
            "avatar_url": "",
            "email": "liujian@example.com",
            "name_cn": "CodeHub_beta_dev",
            "web_url": "https://test.com/c369c68f1ff84679b5a8ed904d8bff1c",
            "nick_name": "Alias",
            "tenant_name": "devcloud_codehub_l00314597_01"
        },
        "position": {
            "base_sha": "a9ce1513d5185d5fe2bac52c597f204ce695c4be",
            "start_sha": "a9ce1513d5185d5fe2bac52c597f204ce695c4be",
            "head_sha": "53c75fa88dc4e7d0b68d108b7f1ee0a5c4564f44",
            "old_path": "a.txt",
            "new_path": "a.txt",
            "position_type": "text",
            "new_line": 1
        },
        "resolved": false,
        "is_outdated": false
    },
    "status": "success"
}

Status Code

Status Code

Description

200

OK

Error codes

Status Code

Error Code

Error message.

Description

Measure

400

CH.00401999

'body': The body is out of max length (8,000 characters).

The review comment exceeds 8,000 characters.

Reduce the content.

400

CH.00401015

String cannot contain emoticons or uncommon characters

Only Unicode characters from \u0000 to \uffff can be used. Special characters, such as emojis and uncommon characters, are not supported.

Delete the special characters.

404

CH.00406001

MergeRequest Not Found

MR information is not found.

Refresh the MR page and try again.

404

CH.00406048

note not found by noteId

No review comment is found for the associated repository_id, merge_request_iid, and discussion_id.

Check and modify the input parameters.

404

CH.00406049

incorrect type of note

No review comment is found for the associated repository_id, merge_request_iid, and discussion_id.

Check and modify the input parameters.

404

CH.00406050

note does not belong to this commit or merge request

No review comment is found for the associated repository_id, merge_request_iid, and discussion_id.

Check and modify the input parameters.

405

CH.00406019

The current merge request is not allowed to be reviewed after being merged, change the settings to enable this operation

Adding comments to merged MRs is not allowed.

Modify the MR settings.