Help Center/ CodeArts Repo/ API Reference/ APIs/ V4/ Discussion/ Obtaining Merge Request Review Comments Based on discussion_id
Updated on 2026-01-27 GMT+08:00

Obtaining Merge Request Review Comments Based on discussion_id

Function

This API is used to obtain merge request review comments based on discussion_id.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

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

codeartsrepo:repository:getMergeRequest

Read

-

-

-

-

URI

GET https://{hostURL}/v4/repositories/{repository_id}/merge-requests/{merge_request_iid}/discussions/{discussion_id}

Table 1 Path Parameters

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

Default Value

N/A

Value range:

1~2147483647

merge_request_iid

Yes

Integer

Definition

MR internal ID (IID).

Value range:

1~2147483647

discussion_id

Yes

String

Definition

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

Range

String length: 40 characters.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Definition

User token. Obtain one by calling the IAM API Obtaining a User Token. The value of X-Subject-Token in the response header is a token.

Constraints

N/A

Range

1–100,000 characters.

Default Value

N/A

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

id

String

Definition

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

individual_note

Boolean

Definition

Personal review comments (no need to be resolved).

notes

Array of NoteDto objects

Definition

Comment list (main comment and replies).

repository_id

Integer

Definition

Repository ID.

Value range:

1~2147483647

noteable_type

String

Definition:

Comment type

Value range:

  • MergeRequest: review comments submitted under a merge request

  • Commit: review comments submitted under a code page or commit record

Enumeration values:

  • MergeRequest

  • Commit

commit_id

String

Definition

Commit record ID.

repository_full_path

String

Definition

Repository path.

a_mode

String

Definition

Old permission for the file (default value: 100644).

b_mode

String

Definition

New permission for the file (default value: 100644)

deleted_file

Boolean

Definition

Deleted file or not.

new_file

Boolean

Definition

New file or not.

resolved

Boolean

Definition

Resolved or not.

archived

Boolean

Definition

Archived or not.

review_categories

String

Definition

Comment type key.

review_categories_cn

String

Definition

Comment type (CN).

review_categories_en

String

Definition

Comment type.

review_modules

String

Definition

Comment module.

severity

String

Definition:

Severity key

Value range:

  • suggestion: suggestion

  • minor: minor

  • major: major

  • fatal: fatal

Enumeration values:

  • suggestion

  • minor

  • major

  • fatal

severity_cn

String

Definition:

Severity (CN)

Value range:

  • Suggestion

  • Minor

  • Major

  • Critical

severity_en

String

Definition:

Severity (EN)

Value range:

  • Suggestion: suggestion

  • Minor: minor

  • major: major

  • fatal: fatal

Enumeration values:

  • Suggestion

  • Minor

  • Major

  • Fatal

assignee

UserBasicDto object

Definition

Assignee.

proposer

UserBasicDto object

Definition

Reviewer.

merge_request_version_params

MergeRequestVersionParamsDto object

Definition

MR version information.

diff_file

String

Definition

Code snippets with review comments on the change request (CR) page.

added_lines

Integer

Definition

Number of new lines in the file that contains review comments.

Value range:

0~2147483647

removed_lines

Integer

Definition

Number of deleted lines in the file that contains review comments.

Value range:

0~2147483647

Table 4 NoteDto

Parameter

Type

Description

id

Integer

Definition

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

Value range:

1~2147483647

type

String

Definition:

Review types

Value range:

  • DiscussionNote: comment on the associated code line to be resolved

  • DiffNote: general

  • null: common comment

body

String

Definition

Comment content.

attachment

String

Definition

Attachment (deprecated).

author

UserBasicDto object

Definition

Comment author.

created_at

String

Definition

Creation time.

updated_at

String

Definition

Update time.

system

Boolean

Definition

Added by the system or not.

noteable_id

Integer

Definition

MR ID or issue ID.

Value range:

1~2147483647

noteable_type

String

Definition:

Comment type

Value range:

  • MergeRequest: review comments submitted in a merge request

  • Commit: review comments submitted on a code page or commit record

Enumeration values:

  • MergeRequest

  • Commit

commit_id

String

Definition

Commit record ID.

resolvable

Boolean

Definition

Whether need to be resolved.

is_reply

Boolean

Definition

Reply or not.

resolved_by

UserBasicDto object

Definition

Solver.

noteable_iid

Integer

Definition

MR IID or issue IID.

Value range:

1~2147483647

discussion_id

String

Definition

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

repository

String

Definition

Repository path.

diff_file

String

Definition

Name of the file that contains the associated code lines.

diff

String

Definition

Code snippet associated with the lines of code.

archived

Boolean

Definition

Archived or not.

review_categories

String

Definition

Comment type key.

review_categories_cn

String

Definition

Comment type name (CN).

review_categories_en

String

Definition

MR version information.

review_modules

String

Definition

MR version information.

severity

String

Definition

Severity key.

Enumeration values:

  • suggestion

  • minor

  • major

  • fatal

severity_cn

String

Definition

Severity (CN).

Constraints

  • Suggestion

  • Minor

  • Major

  • Critical

severity_en

String

Definition

Severity.

Enumeration values:

  • Suggestion

  • Minor

  • Major

  • Fatal

file_path

String

Definition

File path (deprecated).

line

String

Definition

Line number (deprecated).

assignee

UserBasicDto object

Definition

Assignee.

proposer

UserBasicDto object

Definition

Reviewer.

position

PositionDto object

Definition

Associated code line location information.

resolved

Boolean

Definition

Resolved or not.

is_outdated

Boolean

Definition

Expired or not.

moderation_result

Boolean

Definition

Content approving result.

moderation_time

Long

Definition

Content approving time.

moderation_status

Integer

Definition

Content approving status.

Table 5 PositionDto

Parameter

Type

Description

base_sha

String

Definition

Basic SHA value.

start_sha

String

Definition

Start SHA value.

head_sha

String

Definition

Latest SHA value.

old_path

String

Definition

Old file path.

new_path

String

Definition

New file path.

position_type

String

Definition

File type.

old_line

Integer

Definition

Old file line No.

new_line

Integer

Definition

New file line No.

Table 6 UserBasicDto

Parameter

Type

Description

id

Integer

Definition

User ID.

Value range:

1~2147483647

name

String

Definition

Username.

username

String

Definition

Username.

state

String

Definition:

User status

Value range:

  • active: available account

  • blocked: locked user

  • error: The user is not found

Enumeration values:

  • active

  • blocked

  • error

service_license_status

Integer

Service-level permission status. 0: disabled; 1: enabled

avatar_url

String

User profile picture URL

avatar_path

String

User profile picture path

email

String

User email

name_cn

String

Username (CN)

web_url

String

User homepage

nick_name

String

User alias

tenant_name

String

Tenant name

error_message

String

Definition

When some query APIs detect that the user permission in the transfer parameter is insufficient or the user does not exist, the user is returned but the field is not empty for information.

Table 7 MergeRequestVersionParamsDto

Parameter

Type

Description

diff_id

Integer

Definition

Version ID (composed of the MR ID and SHA value).

start_sha

String

Definition

Start SHA value.

commit_id

String

Definition

Commit record ID.

Status code: 401

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Definition

Error code.

error_msg

String

Definition

Error message.

Example Requests

None

Example Responses

Status code: 200

OK

{
  "id" : "3da6d31d0b3d426de6b183d604de50b6b972d87c",
  "individual_note" : false,
  "notes" : [ {
    "id" : 1399939,
    "type" : "DiffNote",
    "body" : "test",
    "author" : {
      "id" : 1130646,
      "name" : "example_name",
      "username" : "7806db92698840d794a70e53e1295cb7",
      "state" : "active",
      "avatar_url" : null,
      "email" : "7806db92698840d794a70e53e1295cb7@example.com",
      "name_cn" : "example_name",
      "web_url" : "https://example.com/7806db92698840d794a70e53e1295cb7",
      "nick_name" : "example_name",
      "tenant_name" : "example_name"
    },
    "created_at" : "2025-01-06T14:54:43.000+08:00",
    "updated_at" : "2025-01-06T14:54:43.000+08:00",
    "system" : false,
    "noteable_id" : 1242586,
    "noteable_type" : "MergeRequest",
    "resolvable" : true,
    "is_reply" : false,
    "noteable_iid" : 1,
    "discussion_id" : "3da6d31d0b3d426de6b183d604de50b6b972d87c",
    "repository" : "07c8683c4bb0445393c5eab0ea354003/mr_test",
    "diff_file" : "README.md",
    "diff" : "@@ -20 +11 @@\\n\\\\ No newline at end of file\\n+# mr_test\\n",
    "archived" : false,
    "review_categories_cn" : null,
    "review_categories_en" : null,
    "severity" : "suggestion",
    "severity_cn" : "Suggestion",
    "severity_en" : "Suggestion",
    "assignee" : {
      "id" : 1130646,
      "name" : "example_name",
      "username" : "7806db92698840d794a70e53e1295cb7",
      "state" : "active",
      "avatar_url" : null,
      "email" : "7806db92698840d794a70e53e1295cb7@example.com",
      "name_cn" : "example_name",
      "web_url" : "https://example.com/7806db92698840d794a70e53e1295cb7",
      "nick_name" : "example_name",
      "tenant_name" : "example_name"
    },
    "proposer" : {
      "id" : 1130646,
      "name" : "example_name",
      "username" : "7806db92698840d794a70e53e1295cb7",
      "state" : "active",
      "avatar_url" : null,
      "email" : "7806db92698840d794a70e53e1295cb7@example.com",
      "name_cn" : "example_name",
      "web_url" : "https://example.com/7806db92698840d794a70e53e1295cb7",
      "nick_name" : "example_name",
      "tenant_name" : "example_name"
    },
    "position" : {
      "base_sha" : "cdb34fb2431d57aaf6701b4026425acde1d8a84c",
      "start_sha" : "cdb34fb2431d57aaf6701b4026425acde1d8a84c",
      "head_sha" : "2032553aab2bbe1855687885da9165412b3fa3a4",
      "old_path" : "README.md",
      "new_path" : "README.md",
      "position_type" : "text",
      "new_line" : 1
    },
    "resolved" : false,
    "is_outdated" : false,
    "moderation_result" : true,
    "moderation_time" : 1736146483268,
    "moderation_status" : 0
  } ],
  "repository_id" : 2663641,
  "noteable_type" : "MergeRequest",
  "repository_full_path" : "07c8683c4bb0445393c5eab0ea354003/mr_test",
  "a_mode" : 100644,
  "b_mode" : 100644,
  "deleted_file" : false,
  "new_file" : false,
  "resolved" : false,
  "archived" : false,
  "review_categories_cn" : null,
  "review_categories_en" : null,
  "severity" : "suggestion",
  "severity_cn" : "Suggestion",
  "severity_en" : "Suggestion",
  "assignee" : {
    "id" : 1130646,
    "name" : "example_name",
    "username" : "7806db92698840d794a70e53e1295cb7",
    "state" : "active",
    "avatar_url" : null,
    "email" : "7806db92698840d794a70e53e1295cb7@example.com",
    "name_cn" : "example_name",
    "web_url" : "https://example.com/7806db92698840d794a70e53e1295cb7",
    "nick_name" : "example_name",
    "tenant_name" : "example_name"
  },
  "proposer" : {
    "id" : 1130646,
    "name" : "example_name",
    "username" : "7806db92698840d794a70e53e1295cb7",
    "state" : "active",
    "avatar_url" : null,
    "email" : "7806db92698840d794a70e53e1295cb7@example.com",
    "name_cn" : "example_name",
    "web_url" : "https://example.com/7806db92698840d794a70e53e1295cb7",
    "nick_name" : "example_name",
    "tenant_name" : "example_name"
  },
  "merge_request_version_params" : { },
  "diff_file" : "@@ -20 +11 @@\\n\\\\ No newline at end of file\\n+# mr_test\\n",
  "added_lines" : 1,
  "removed_lines" : 1
}

Status code: 401

Unauthorized

{
  "error_code" : "DEV.00000003",
  "error_msg" : "Authentication information expired."
}

Status Codes

Status Code

Description

200

OK

401

Unauthorized

Error Codes

See Error Codes.