InfoGrab Docs

노트 API

요약

이 API를 사용하여 GitLab 콘텐츠에 첨부된 댓글 및 시스템 레코드를 관리합니다. 일부 시스템 생성 노트는 별도의 리소스 이벤트로 추적됩니다: API 결과가 페이지네이션되므로, GET 요청은 기본적으로 한 번에 20개의 결과를 반환합니다.

이 API를 사용하여 GitLab 콘텐츠에 첨부된 댓글 및 시스템 레코드를 관리합니다. 다음 작업을 수행할 수 있습니다:

  • 이슈, 머지 리퀘스트, 에픽, 스니펫, 커밋에 대한 댓글을 생성하고 수정합니다.
  • 오브젝트 변경에 관한 시스템 생성 노트를 조회합니다.
  • 결과를 정렬하고 페이지네이션합니다.
  • 기밀 및 내부 플래그로 가시성을 제어합니다.
  • 속도 제한으로 남용을 방지합니다.

일부 시스템 생성 노트는 별도의 리소스 이벤트로 추적됩니다:

API 결과가 페이지네이션되므로, GET 요청은 기본적으로 한 번에 20개의 결과를 반환합니다. 자세한 내용은 페이지네이션을 참조하세요.

리소스 이벤트#

일부 시스템 노트는 이 API에 포함되지 않고 별도의 이벤트로 기록됩니다:

노트 페이지네이션#

API 결과가 페이지네이션되므로, GET 요청은 기본적으로 한 번에 20개의 결과를 반환합니다.

페이지네이션에 대해 자세히 알아보세요.

속도 제한#

남용을 방지하기 위해 사용자의 분당 Create 요청 수를 특정 수로 제한할 수 있습니다. 자세한 내용은 노트 생성 속도 제한을 참조하세요.

이슈#

모든 이슈 노트 목록 조회#

지정된 이슈의 모든 노트를 반환합니다.

GET /projects/:id/issues/:issue_iid/notes
GET /projects/:id/issues/:issue_iid/notes?sort=asc&order_by=updated_at
GET /projects/:id/issues/:issue_iid/notes?activity_filter=only_comments
속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
issue_iid 정수 이슈의 IID
activity_filter 문자열 아니요 활동 유형으로 노트 필터. 유효한 값: all_notes, only_comments, only_activity. 기본값 all_notes
sort 문자열 아니요 이슈 노트를 asc 또는 desc 순서로 반환. 기본값 desc
order_by 문자열 아니요 created_at 또는 updated_at 필드로 이슈 노트 정렬. 기본값 created_at
[
  {
    "id": 302,
    "body": "closed",
    "author": {
      "id": 1,
      "username": "pipin",
      "email": "admin@example.com",
      "name": "Pip",
      "state": "active",
      "created_at": "2013-09-30T13:46:01Z"
    },
    "created_at": "2013-10-02T09:22:45Z",
    "updated_at": "2013-10-02T10:22:45Z",
    "system": true,
    "noteable_id": 377,
    "noteable_type": "Issue",
    "project_id": 5,
    "noteable_iid": 377,
    "resolvable": false,
    "confidential": false,
    "internal": false,
    "imported": false,
    "imported_from": "none"
  },
  {
    "id": 305,
    "body": "Text of the comment\r\n",
    "author": {
      "id": 1,
      "username": "pipin",
      "email": "admin@example.com",
      "name": "Pip",
      "state": "active",
      "created_at": "2013-09-30T13:46:01Z"
    },
    "created_at": "2013-10-02T09:56:03Z",
    "updated_at": "2013-10-02T09:56:03Z",
    "system": true,
    "noteable_id": 121,
    "noteable_type": "Issue",
    "project_id": 5,
    "noteable_iid": 121,
    "resolvable": false,
    "confidential": true,
    "internal": true,
    "imported": false,
    "imported_from": "none"
  }
]
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/issues/11/notes"

이슈 노트 조회#

프로젝트 이슈의 지정된 노트를 반환합니다.

GET /projects/:id/issues/:issue_iid/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
issue_iid 정수 프로젝트 이슈의 IID
note_id 정수 이슈 노트의 ID
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/issues/11/notes/1"

이슈 노트 생성#

지정된 프로젝트 이슈의 노트를 생성합니다.

POST /projects/:id/issues/:issue_iid/notes

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
issue_iid 정수 이슈의 IID.
body 문자열 노트 내용. 최대 1,000,000자.
confidential 불리언 아니요 더 이상 사용되지 않음: GitLab 16.0에서 제거 예정이며 internal로 이름이 변경됨. 노트의 기밀 플래그. 기본값 false.
internal 불리언 아니요 노트의 내부 플래그. 두 파라미터가 모두 제출된 경우 confidential을 덮어씀. 기본값 false.
created_at 문자열 아니요 날짜 시간 문자열, ISO 8601 형식. 1970-01-01 이후여야 함. 예: 2016-03-11T03:45:40Z (관리자 또는 프로젝트/그룹 소유자 권한 필요)
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/issues/11/notes?body=note"

이슈 노트 업데이트#

이슈의 지정된 노트를 업데이트합니다.

PUT /projects/:id/issues/:issue_iid/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
issue_iid 정수 이슈의 IID.
note_id 정수 노트의 ID.
body 문자열 아니요 노트 내용. 최대 1,000,000자.
confidential 불리언 아니요 더 이상 사용되지 않음: GitLab 16.0에서 제거 예정. 노트의 기밀 플래그. 기본값 false.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/issues/11/notes/636?body=note"

이슈 노트 삭제#

이슈의 기존 노트를 삭제합니다.

DELETE /projects/:id/issues/:issue_iid/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
issue_iid 정수 이슈의 IID
note_id 정수 노트의 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/issues/11/notes/636"

스니펫#

스니펫 노트 API는 개인 스니펫이 아닌 프로젝트 수준 스니펫을 위한 것입니다.

모든 스니펫 노트 목록 조회#

지정된 스니펫의 모든 노트를 반환합니다. 스니펫 노트는 사용자가 스니펫에 작성할 수 있는 댓글입니다.

GET /projects/:id/snippets/:snippet_id/notes
GET /projects/:id/snippets/:snippet_id/notes?sort=asc&order_by=updated_at
속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
snippet_id 정수 프로젝트 스니펫의 ID
sort 문자열 아니요 스니펫 노트를 asc 또는 desc 순서로 반환. 기본값 desc
order_by 문자열 아니요 created_at 또는 updated_at 필드로 스니펫 노트 정렬. 기본값 created_at
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/snippets/11/notes"

스니펫 노트 조회#

스니펫의 지정된 노트를 반환합니다.

GET /projects/:id/snippets/:snippet_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
snippet_id 정수 프로젝트 스니펫의 ID
note_id 정수 스니펫 노트의 ID
{
  "id": 302,
  "body": "closed",
  "author": {
    "id": 1,
    "username": "pipin",
    "email": "admin@example.com",
    "name": "Pip",
    "state": "active",
    "created_at": "2013-09-30T13:46:01Z"
  },
  "created_at": "2013-10-02T09:22:45Z",
  "updated_at": "2013-10-02T10:22:45Z",
  "system": true,
  "noteable_id": 377,
  "noteable_type": "Issue",
  "project_id": 5,
  "noteable_iid": 377,
  "resolvable": false,
  "confidential": false,
  "internal": false,
  "imported": false,
  "imported_from": "none"
}
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/snippets/11/notes/11"

스니펫 노트 생성#

지정된 스니펫의 새 노트를 생성합니다. 스니펫 노트는 스니펫에 대한 사용자 댓글입니다. 본문에 이모지 반응만 포함하는 노트를 생성하면 GitLab은 이 오브젝트를 반환합니다.

POST /projects/:id/snippets/:snippet_id/notes

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
snippet_id 정수 스니펫의 ID
body 문자열 노트 내용. 최대 1,000,000자.
created_at 문자열 아니요 날짜 시간 문자열, ISO 8601 형식. 예: 2016-03-11T03:45:40Z (관리자 또는 프로젝트/그룹 소유자 권한 필요)
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/snippet/11/notes?body=note"

스니펫 노트 업데이트#

스니펫의 지정된 노트를 업데이트합니다.

PUT /projects/:id/snippets/:snippet_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
snippet_id 정수 스니펫의 ID
note_id 정수 스니펫 노트의 ID
body 문자열 노트 내용. 최대 1,000,000자.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/snippets/11/notes/1659?body=note"

스니펫 노트 삭제#

스니펫의 기존 노트를 삭제합니다.

DELETE /projects/:id/snippets/:snippet_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
snippet_id 정수 스니펫의 ID
note_id 정수 노트의 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/snippets/52/notes/1659"

머지 리퀘스트#

모든 머지 리퀘스트 노트 목록 조회#

지정된 머지 리퀘스트의 모든 노트를 반환합니다.

GET /projects/:id/merge_requests/:merge_request_iid/notes
GET /projects/:id/merge_requests/:merge_request_iid/notes?sort=asc&order_by=updated_at
속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
merge_request_iid 정수 프로젝트 머지 리퀘스트의 IID
sort 문자열 아니요 머지 리퀘스트 노트를 asc 또는 desc 순서로 반환. 기본값 desc
order_by 문자열 아니요 created_at 또는 updated_at 필드로 머지 리퀘스트 노트 정렬. 기본값 created_at
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes"

머지 리퀘스트 노트 조회#

머지 리퀘스트의 지정된 노트를 반환합니다.

GET /projects/:id/merge_requests/:merge_request_iid/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
merge_request_iid 정수 프로젝트 머지 리퀘스트의 IID
note_id 정수 머지 리퀘스트 노트의 ID
{
  "id": 301,
  "body": "Comment for MR",
  "author": {
    "id": 1,
    "username": "pipin",
    "email": "admin@example.com",
    "name": "Pip",
    "state": "active",
    "created_at": "2013-09-30T13:46:01Z"
  },
  "created_at": "2013-10-02T08:57:14Z",
  "updated_at": "2013-10-02T08:57:14Z",
  "system": false,
  "noteable_id": 2,
  "noteable_type": "MergeRequest",
  "project_id": 5,
  "noteable_iid": 2,
  "resolvable": false,
  "confidential": false,
  "internal": false
}
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes/1"

머지 리퀘스트 노트 생성#

지정된 머지 리퀘스트의 노트를 생성합니다. 노트는 머지 리퀘스트의 특정 라인에 첨부되지 않습니다. 보다 세밀한 제어를 위한 다른 방법은 커밋 API의 커밋에 댓글 달기와 토론 API의 머지 리퀘스트 diff에 새 스레드 생성을 참조하세요.

본문에 이모지 반응만 포함하는 노트를 생성하면 GitLab은 이 오브젝트를 반환합니다.

POST /projects/:id/merge_requests/:merge_request_iid/notes

파라미터:

속성 유형 필수 여부 설명
body 문자열 노트 내용. 최대 1,000,000자.
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
merge_request_iid 정수 프로젝트 머지 리퀘스트의 IID
created_at 문자열 아니요 날짜 시간 문자열, ISO 8601 형식. 예: 2016-03-11T03:45:40Z (관리자 또는 프로젝트/그룹 소유자 권한 필요)
internal 불리언 아니요 노트의 내부 플래그. 기본값 false.
merge_request_diff_head_sha 문자열 아니요 /merge 빠른 액션에 필요. HEAD 커밋의 SHA로, API 요청 전송 후 머지 리퀘스트가 업데이트되지 않았는지 확인합니다.
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes?body=note"

머지 리퀘스트 노트 업데이트#

머지 리퀘스트의 지정된 노트를 업데이트합니다.

PUT /projects/:id/merge_requests/:merge_request_iid/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
merge_request_iid 정수 프로젝트 머지 리퀘스트의 IID
note_id 정수 아니요 노트의 ID
body 문자열 노트 내용. 최대 1,000,000자.
confidential 불리언 아니요 더 이상 사용되지 않음: GitLab 16.0에서 제거 예정. 노트의 기밀 플래그. 기본값 false.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes/1?body=note"

머지 리퀘스트 노트 삭제#

머지 리퀘스트의 기존 노트를 삭제합니다.

DELETE /projects/:id/merge_requests/:merge_request_iid/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
merge_request_iid 정수 머지 리퀘스트의 IID
note_id 정수 노트의 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/merge_requests/7/notes/1602"

에픽#

Warning

에픽 REST API는 GitLab 17.0에서 더 이상 사용되지 않으며 API v5에서 제거될 예정입니다. GitLab 17.4부터 18.0까지 에픽의 새로운 모습이 활성화된 경우, GitLab 18.1 이후에는 Work Items API를 대신 사용하세요. 자세한 내용은 에픽 API를 work items로 마이그레이션을 참조하세요. 이 변경은 주요 변경 사항입니다.

모든 에픽 노트 목록 조회#

지정된 에픽의 모든 노트를 반환합니다. 에픽 노트는 사용자가 에픽에 작성할 수 있는 댓글입니다.

Note

에픽 노트 API는 에픽 IID 대신 에픽 ID를 사용합니다. 에픽의 IID를 사용하면 GitLab이 404 오류를 반환하거나 잘못된 에픽의 노트를 반환합니다. 이슈 노트 API머지 리퀘스트 노트 API와 다릅니다.

GET /groups/:id/epics/:epic_id/notes
GET /groups/:id/epics/:epic_id/notes?sort=asc&order_by=updated_at
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
epic_id 정수 그룹 에픽의 ID
sort 문자열 아니요 에픽 노트를 asc 또는 desc 순서로 반환. 기본값 desc
order_by 문자열 아니요 created_at 또는 updated_at 필드로 에픽 노트 정렬. 기본값 created_at
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/epics/11/notes"

에픽 노트 조회#

에픽의 지정된 노트를 반환합니다.

GET /groups/:id/epics/:epic_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
epic_id 정수 에픽의 ID
note_id 정수 노트의 ID
{
  "id": 302,
  "body": "Epic note",
  "author": {
    "id": 1,
    "username": "pipin",
    "email": "admin@example.com",
    "name": "Pip",
    "state": "active",
    "created_at": "2013-09-30T13:46:01Z"
  },
  "created_at": "2013-10-02T09:22:45Z",
  "updated_at": "2013-10-02T10:22:45Z",
  "system": true,
  "noteable_id": 11,
  "noteable_type": "Epic",
  "project_id": 5,
  "noteable_iid": 11,
  "resolvable": false,
  "confidential": false,
  "internal": false,
  "imported": false,
  "imported_from": "none"
}
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/epics/11/notes/1"

에픽 노트 생성#

지정된 에픽의 노트를 생성합니다. 에픽 노트는 사용자가 에픽에 작성할 수 있는 댓글입니다. 본문에 이모지 반응만 포함하는 노트를 생성하면 GitLab은 이 오브젝트를 반환합니다.

POST /groups/:id/epics/:epic_id/notes

파라미터:

속성 유형 필수 여부 설명
body 문자열 노트 내용. 최대 1,000,000자.
epic_id 정수 에픽의 ID
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
confidential 불리언 아니요 더 이상 사용되지 않음: GitLab 16.0에서 제거 예정이며 internal로 이름이 변경됨. 노트의 기밀 플래그. 기본값 false.
internal 불리언 아니요 노트의 내부 플래그. 두 파라미터가 모두 제출된 경우 confidential을 덮어씀. 기본값 false.
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/epics/11/notes?body=note"

에픽 노트 업데이트#

에픽의 지정된 노트를 업데이트합니다.

PUT /groups/:id/epics/:epic_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
epic_id 정수 에픽의 ID
note_id 정수 노트의 ID
body 문자열 노트 내용. 최대 1,000,000자.
confidential 불리언 아니요 더 이상 사용되지 않음: GitLab 16.0에서 제거 예정. 노트의 기밀 플래그. 기본값 false.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/epics/11/notes/1?body=note"

에픽 노트 삭제#

에픽의 기존 노트를 삭제합니다.

DELETE /groups/:id/epics/:epic_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
epic_id 정수 에픽의 ID
note_id 정수 노트의 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/epics/52/notes/1659"

프로젝트 위키#

모든 프로젝트 위키 노트 목록 조회#

지정된 프로젝트 위키 페이지의 모든 노트를 반환합니다. 프로젝트 위키 노트는 사용자가 위키 페이지에 작성할 수 있는 댓글입니다.

Note

위키 페이지 노트 API는 위키 페이지 슬러그 대신 위키 페이지 메타 ID를 사용합니다. 페이지의 슬러그를 사용하면 GitLab이 404 오류를 반환합니다. 프로젝트 위키 API에서 메타 ID를 조회할 수 있습니다.

GET /projects/:id/wiki_pages/:wiki_page_meta_id/notes
GET /projects/:id/wiki_pages/:wiki_page_meta_id/notes?sort=asc&order_by=updated_at

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
sort 문자열 아니요 위키 페이지 노트를 asc 또는 desc 순서로 반환. 기본값 desc
order_by 문자열 아니요 created_at 또는 updated_at 필드로 위키 페이지 노트 정렬. 기본값 created_at
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/wiki_pages/35/notes"

위키 페이지 노트 조회#

지정된 위키 페이지의 단일 노트를 반환합니다.

GET /projects/:id/wiki_pages/:wiki_page_meta_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
note_id 정수 노트의 ID
{
  "author": {
      "id": 1,
      "username": "pipin",
      "email": "admin@example.com",
      "name": "Pip",
      "state": "active",
      "created_at": "2013-09-30T13:46:01Z"
  },
  "body": "foobar",
  "commands_changes": {},
  "confidential": false,
  "created_at": "2025-03-11T11:36:32.222Z",
  "id": 1218,
  "imported": false,
  "imported_from": "none",
  "internal": false,
  "noteable_id": 35,
  "noteable_iid": null,
  "noteable_type": "WikiPage::Meta",
  "project_id": 5,
  "resolvable": false,
  "system": false,
  "type": null,
  "updated_at": "2025-03-11T11:36:32.222Z"
}
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/wiki_pages/35/notes/1218"

위키 페이지 노트 생성#

단일 위키 페이지의 새 노트를 생성합니다. 위키 페이지 노트는 사용자가 위키 페이지에 작성할 수 있는 댓글입니다.

POST /projects/:id/wiki_pages/:wiki_page_meta_id/notes

파라미터:

속성 유형 필수 여부 설명
body 문자열 노트 내용. 최대 1,000,000자.
wiki_page_meta_id 정수 위키 페이지 메타의 ID
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/wiki_pages/35/notes?body=note"

위키 페이지 노트 업데이트#

위키 페이지의 기존 노트를 업데이트합니다.

PUT /projects/:id/wiki_pages/:wiki_page_meta_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
note_id 정수 노트의 ID
body 문자열 노트 내용. 최대 1,000,000자.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/wiki_pages/35/notes/1218?body=note"

위키 페이지 노트 삭제#

위키 페이지에서 노트를 삭제합니다.

DELETE /projects/:id/wiki_pages/:wiki_page_meta_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
note_id 정수 노트의 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/wiki_pages/35/notes/1218"

그룹 위키#

그룹 위키 노트 목록 조회#

지정된 그룹 위키 페이지의 모든 노트를 반환합니다. 그룹 위키 노트는 사용자가 위키 페이지에 작성할 수 있는 댓글입니다.

Note

위키 페이지 노트 API는 위키 페이지 슬러그 대신 위키 페이지 메타 ID를 사용합니다. 페이지의 슬러그를 사용하면 GitLab이 404 오류를 반환합니다. 그룹 위키 API에서 메타 ID를 조회할 수 있습니다.

GET /groups/:id/wiki_pages/:wiki_page_meta_id/notes
GET /groups/:id/wiki_pages/:wiki_page_meta_id/notes?sort=asc&order_by=updated_at
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
sort 문자열 아니요 위키 페이지 노트를 asc 또는 desc 순서로 반환. 기본값 desc
order_by 문자열 아니요 created_at 또는 updated_at 필드로 위키 페이지 노트 정렬. 기본값 created_at
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/wiki_pages/35/notes"

위키 페이지 노트 조회#

위키 페이지의 지정된 노트를 반환합니다.

GET /groups/:id/wiki_pages/:wiki_page_meta_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
note_id 정수 노트의 ID
{
  "author": {
      "id": 1,
      "username": "pipin",
      "email": "admin@example.com",
      "name": "Pip",
      "state": "active",
      "created_at": "2013-09-30T13:46:01Z"
  },
  "body": "foobar",
  "commands_changes": {},
  "confidential": false,
  "created_at": "2025-03-11T11:36:32.222Z",
  "id": 1218,
  "imported": false,
  "imported_from": "none",
  "internal": false,
  "noteable_id": 35,
  "noteable_iid": null,
  "noteable_type": "WikiPage::Meta",
  "project_id": null,
  "resolvable": false,
  "system": false,
  "type": null,
  "updated_at": "2025-03-11T11:36:32.222Z"
}
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/wiki_pages/35/notes/1218"

위키 페이지 노트 생성#

지정된 위키 페이지의 노트를 생성합니다. 위키 페이지 노트는 사용자가 위키 페이지에 작성할 수 있는 댓글입니다.

POST /groups/:id/wiki_pages/:wiki_page_meta_id/notes

파라미터:

속성 유형 필수 여부 설명
body 문자열 노트 내용. 최대 1,000,000자.
wiki_page_meta_id 정수 위키 페이지 메타의 ID
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/wiki_pages/35/notes?body=note"

위키 페이지 노트 업데이트#

위키 페이지의 지정된 노트를 업데이트합니다.

PUT /groups/:id/wiki_pages/:wiki_page_meta_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
note_id 정수 노트의 ID
body 문자열 노트 내용. 최대 1,000,000자.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/wiki_pages/35/notes/1218?body=note"

위키 페이지 노트 삭제#

위키 페이지에서 노트를 삭제합니다.

DELETE /groups/:id/wiki_pages/:wiki_page_meta_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
note_id 정수 노트의 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/wiki_pages/35/notes/1218"

노트 API

원문 보기
요약

이 API를 사용하여 GitLab 콘텐츠에 첨부된 댓글 및 시스템 레코드를 관리합니다. 일부 시스템 생성 노트는 별도의 리소스 이벤트로 추적됩니다: API 결과가 페이지네이션되므로, GET 요청은 기본적으로 한 번에 20개의 결과를 반환합니다.

이 API를 사용하여 GitLab 콘텐츠에 첨부된 댓글 및 시스템 레코드를 관리합니다. 다음 작업을 수행할 수 있습니다:

  • 이슈, 머지 리퀘스트, 에픽, 스니펫, 커밋에 대한 댓글을 생성하고 수정합니다.
  • 오브젝트 변경에 관한 시스템 생성 노트를 조회합니다.
  • 결과를 정렬하고 페이지네이션합니다.
  • 기밀 및 내부 플래그로 가시성을 제어합니다.
  • 속도 제한으로 남용을 방지합니다.

일부 시스템 생성 노트는 별도의 리소스 이벤트로 추적됩니다:

API 결과가 페이지네이션되므로, GET 요청은 기본적으로 한 번에 20개의 결과를 반환합니다. 자세한 내용은 페이지네이션을 참조하세요.

리소스 이벤트#

일부 시스템 노트는 이 API에 포함되지 않고 별도의 이벤트로 기록됩니다:

노트 페이지네이션#

API 결과가 페이지네이션되므로, GET 요청은 기본적으로 한 번에 20개의 결과를 반환합니다.

페이지네이션에 대해 자세히 알아보세요.

속도 제한#

남용을 방지하기 위해 사용자의 분당 Create 요청 수를 특정 수로 제한할 수 있습니다. 자세한 내용은 노트 생성 속도 제한을 참조하세요.

이슈#

모든 이슈 노트 목록 조회#

지정된 이슈의 모든 노트를 반환합니다.

GET /projects/:id/issues/:issue_iid/notes
GET /projects/:id/issues/:issue_iid/notes?sort=asc&order_by=updated_at
GET /projects/:id/issues/:issue_iid/notes?activity_filter=only_comments
속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
issue_iid 정수 이슈의 IID
activity_filter 문자열 아니요 활동 유형으로 노트 필터. 유효한 값: all_notes, only_comments, only_activity. 기본값 all_notes
sort 문자열 아니요 이슈 노트를 asc 또는 desc 순서로 반환. 기본값 desc
order_by 문자열 아니요 created_at 또는 updated_at 필드로 이슈 노트 정렬. 기본값 created_at
[
  {
    "id": 302,
    "body": "closed",
    "author": {
      "id": 1,
      "username": "pipin",
      "email": "admin@example.com",
      "name": "Pip",
      "state": "active",
      "created_at": "2013-09-30T13:46:01Z"
    },
    "created_at": "2013-10-02T09:22:45Z",
    "updated_at": "2013-10-02T10:22:45Z",
    "system": true,
    "noteable_id": 377,
    "noteable_type": "Issue",
    "project_id": 5,
    "noteable_iid": 377,
    "resolvable": false,
    "confidential": false,
    "internal": false,
    "imported": false,
    "imported_from": "none"
  },
  {
    "id": 305,
    "body": "Text of the comment\r\n",
    "author": {
      "id": 1,
      "username": "pipin",
      "email": "admin@example.com",
      "name": "Pip",
      "state": "active",
      "created_at": "2013-09-30T13:46:01Z"
    },
    "created_at": "2013-10-02T09:56:03Z",
    "updated_at": "2013-10-02T09:56:03Z",
    "system": true,
    "noteable_id": 121,
    "noteable_type": "Issue",
    "project_id": 5,
    "noteable_iid": 121,
    "resolvable": false,
    "confidential": true,
    "internal": true,
    "imported": false,
    "imported_from": "none"
  }
]
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/issues/11/notes"

이슈 노트 조회#

프로젝트 이슈의 지정된 노트를 반환합니다.

GET /projects/:id/issues/:issue_iid/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
issue_iid 정수 프로젝트 이슈의 IID
note_id 정수 이슈 노트의 ID
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/issues/11/notes/1"

이슈 노트 생성#

지정된 프로젝트 이슈의 노트를 생성합니다.

POST /projects/:id/issues/:issue_iid/notes

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
issue_iid 정수 이슈의 IID.
body 문자열 노트 내용. 최대 1,000,000자.
confidential 불리언 아니요 더 이상 사용되지 않음: GitLab 16.0에서 제거 예정이며 internal로 이름이 변경됨. 노트의 기밀 플래그. 기본값 false.
internal 불리언 아니요 노트의 내부 플래그. 두 파라미터가 모두 제출된 경우 confidential을 덮어씀. 기본값 false.
created_at 문자열 아니요 날짜 시간 문자열, ISO 8601 형식. 1970-01-01 이후여야 함. 예: 2016-03-11T03:45:40Z (관리자 또는 프로젝트/그룹 소유자 권한 필요)
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/issues/11/notes?body=note"

이슈 노트 업데이트#

이슈의 지정된 노트를 업데이트합니다.

PUT /projects/:id/issues/:issue_iid/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로.
issue_iid 정수 이슈의 IID.
note_id 정수 노트의 ID.
body 문자열 아니요 노트 내용. 최대 1,000,000자.
confidential 불리언 아니요 더 이상 사용되지 않음: GitLab 16.0에서 제거 예정. 노트의 기밀 플래그. 기본값 false.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/issues/11/notes/636?body=note"

이슈 노트 삭제#

이슈의 기존 노트를 삭제합니다.

DELETE /projects/:id/issues/:issue_iid/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
issue_iid 정수 이슈의 IID
note_id 정수 노트의 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/issues/11/notes/636"

스니펫#

스니펫 노트 API는 개인 스니펫이 아닌 프로젝트 수준 스니펫을 위한 것입니다.

모든 스니펫 노트 목록 조회#

지정된 스니펫의 모든 노트를 반환합니다. 스니펫 노트는 사용자가 스니펫에 작성할 수 있는 댓글입니다.

GET /projects/:id/snippets/:snippet_id/notes
GET /projects/:id/snippets/:snippet_id/notes?sort=asc&order_by=updated_at
속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
snippet_id 정수 프로젝트 스니펫의 ID
sort 문자열 아니요 스니펫 노트를 asc 또는 desc 순서로 반환. 기본값 desc
order_by 문자열 아니요 created_at 또는 updated_at 필드로 스니펫 노트 정렬. 기본값 created_at
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/snippets/11/notes"

스니펫 노트 조회#

스니펫의 지정된 노트를 반환합니다.

GET /projects/:id/snippets/:snippet_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
snippet_id 정수 프로젝트 스니펫의 ID
note_id 정수 스니펫 노트의 ID
{
  "id": 302,
  "body": "closed",
  "author": {
    "id": 1,
    "username": "pipin",
    "email": "admin@example.com",
    "name": "Pip",
    "state": "active",
    "created_at": "2013-09-30T13:46:01Z"
  },
  "created_at": "2013-10-02T09:22:45Z",
  "updated_at": "2013-10-02T10:22:45Z",
  "system": true,
  "noteable_id": 377,
  "noteable_type": "Issue",
  "project_id": 5,
  "noteable_iid": 377,
  "resolvable": false,
  "confidential": false,
  "internal": false,
  "imported": false,
  "imported_from": "none"
}
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/snippets/11/notes/11"

스니펫 노트 생성#

지정된 스니펫의 새 노트를 생성합니다. 스니펫 노트는 스니펫에 대한 사용자 댓글입니다. 본문에 이모지 반응만 포함하는 노트를 생성하면 GitLab은 이 오브젝트를 반환합니다.

POST /projects/:id/snippets/:snippet_id/notes

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
snippet_id 정수 스니펫의 ID
body 문자열 노트 내용. 최대 1,000,000자.
created_at 문자열 아니요 날짜 시간 문자열, ISO 8601 형식. 예: 2016-03-11T03:45:40Z (관리자 또는 프로젝트/그룹 소유자 권한 필요)
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/snippet/11/notes?body=note"

스니펫 노트 업데이트#

스니펫의 지정된 노트를 업데이트합니다.

PUT /projects/:id/snippets/:snippet_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
snippet_id 정수 스니펫의 ID
note_id 정수 스니펫 노트의 ID
body 문자열 노트 내용. 최대 1,000,000자.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/snippets/11/notes/1659?body=note"

스니펫 노트 삭제#

스니펫의 기존 노트를 삭제합니다.

DELETE /projects/:id/snippets/:snippet_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
snippet_id 정수 스니펫의 ID
note_id 정수 노트의 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/snippets/52/notes/1659"

머지 리퀘스트#

모든 머지 리퀘스트 노트 목록 조회#

지정된 머지 리퀘스트의 모든 노트를 반환합니다.

GET /projects/:id/merge_requests/:merge_request_iid/notes
GET /projects/:id/merge_requests/:merge_request_iid/notes?sort=asc&order_by=updated_at
속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
merge_request_iid 정수 프로젝트 머지 리퀘스트의 IID
sort 문자열 아니요 머지 리퀘스트 노트를 asc 또는 desc 순서로 반환. 기본값 desc
order_by 문자열 아니요 created_at 또는 updated_at 필드로 머지 리퀘스트 노트 정렬. 기본값 created_at
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes"

머지 리퀘스트 노트 조회#

머지 리퀘스트의 지정된 노트를 반환합니다.

GET /projects/:id/merge_requests/:merge_request_iid/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
merge_request_iid 정수 프로젝트 머지 리퀘스트의 IID
note_id 정수 머지 리퀘스트 노트의 ID
{
  "id": 301,
  "body": "Comment for MR",
  "author": {
    "id": 1,
    "username": "pipin",
    "email": "admin@example.com",
    "name": "Pip",
    "state": "active",
    "created_at": "2013-09-30T13:46:01Z"
  },
  "created_at": "2013-10-02T08:57:14Z",
  "updated_at": "2013-10-02T08:57:14Z",
  "system": false,
  "noteable_id": 2,
  "noteable_type": "MergeRequest",
  "project_id": 5,
  "noteable_iid": 2,
  "resolvable": false,
  "confidential": false,
  "internal": false
}
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes/1"

머지 리퀘스트 노트 생성#

지정된 머지 리퀘스트의 노트를 생성합니다. 노트는 머지 리퀘스트의 특정 라인에 첨부되지 않습니다. 보다 세밀한 제어를 위한 다른 방법은 커밋 API의 커밋에 댓글 달기와 토론 API의 머지 리퀘스트 diff에 새 스레드 생성을 참조하세요.

본문에 이모지 반응만 포함하는 노트를 생성하면 GitLab은 이 오브젝트를 반환합니다.

POST /projects/:id/merge_requests/:merge_request_iid/notes

파라미터:

속성 유형 필수 여부 설명
body 문자열 노트 내용. 최대 1,000,000자.
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
merge_request_iid 정수 프로젝트 머지 리퀘스트의 IID
created_at 문자열 아니요 날짜 시간 문자열, ISO 8601 형식. 예: 2016-03-11T03:45:40Z (관리자 또는 프로젝트/그룹 소유자 권한 필요)
internal 불리언 아니요 노트의 내부 플래그. 기본값 false.
merge_request_diff_head_sha 문자열 아니요 /merge 빠른 액션에 필요. HEAD 커밋의 SHA로, API 요청 전송 후 머지 리퀘스트가 업데이트되지 않았는지 확인합니다.
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes?body=note"

머지 리퀘스트 노트 업데이트#

머지 리퀘스트의 지정된 노트를 업데이트합니다.

PUT /projects/:id/merge_requests/:merge_request_iid/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
merge_request_iid 정수 프로젝트 머지 리퀘스트의 IID
note_id 정수 아니요 노트의 ID
body 문자열 노트 내용. 최대 1,000,000자.
confidential 불리언 아니요 더 이상 사용되지 않음: GitLab 16.0에서 제거 예정. 노트의 기밀 플래그. 기본값 false.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes/1?body=note"

머지 리퀘스트 노트 삭제#

머지 리퀘스트의 기존 노트를 삭제합니다.

DELETE /projects/:id/merge_requests/:merge_request_iid/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
merge_request_iid 정수 머지 리퀘스트의 IID
note_id 정수 노트의 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/merge_requests/7/notes/1602"

에픽#

Warning

에픽 REST API는 GitLab 17.0에서 더 이상 사용되지 않으며 API v5에서 제거될 예정입니다. GitLab 17.4부터 18.0까지 에픽의 새로운 모습이 활성화된 경우, GitLab 18.1 이후에는 Work Items API를 대신 사용하세요. 자세한 내용은 에픽 API를 work items로 마이그레이션을 참조하세요. 이 변경은 주요 변경 사항입니다.

모든 에픽 노트 목록 조회#

지정된 에픽의 모든 노트를 반환합니다. 에픽 노트는 사용자가 에픽에 작성할 수 있는 댓글입니다.

Note

에픽 노트 API는 에픽 IID 대신 에픽 ID를 사용합니다. 에픽의 IID를 사용하면 GitLab이 404 오류를 반환하거나 잘못된 에픽의 노트를 반환합니다. 이슈 노트 API머지 리퀘스트 노트 API와 다릅니다.

GET /groups/:id/epics/:epic_id/notes
GET /groups/:id/epics/:epic_id/notes?sort=asc&order_by=updated_at
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
epic_id 정수 그룹 에픽의 ID
sort 문자열 아니요 에픽 노트를 asc 또는 desc 순서로 반환. 기본값 desc
order_by 문자열 아니요 created_at 또는 updated_at 필드로 에픽 노트 정렬. 기본값 created_at
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/epics/11/notes"

에픽 노트 조회#

에픽의 지정된 노트를 반환합니다.

GET /groups/:id/epics/:epic_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
epic_id 정수 에픽의 ID
note_id 정수 노트의 ID
{
  "id": 302,
  "body": "Epic note",
  "author": {
    "id": 1,
    "username": "pipin",
    "email": "admin@example.com",
    "name": "Pip",
    "state": "active",
    "created_at": "2013-09-30T13:46:01Z"
  },
  "created_at": "2013-10-02T09:22:45Z",
  "updated_at": "2013-10-02T10:22:45Z",
  "system": true,
  "noteable_id": 11,
  "noteable_type": "Epic",
  "project_id": 5,
  "noteable_iid": 11,
  "resolvable": false,
  "confidential": false,
  "internal": false,
  "imported": false,
  "imported_from": "none"
}
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/epics/11/notes/1"

에픽 노트 생성#

지정된 에픽의 노트를 생성합니다. 에픽 노트는 사용자가 에픽에 작성할 수 있는 댓글입니다. 본문에 이모지 반응만 포함하는 노트를 생성하면 GitLab은 이 오브젝트를 반환합니다.

POST /groups/:id/epics/:epic_id/notes

파라미터:

속성 유형 필수 여부 설명
body 문자열 노트 내용. 최대 1,000,000자.
epic_id 정수 에픽의 ID
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
confidential 불리언 아니요 더 이상 사용되지 않음: GitLab 16.0에서 제거 예정이며 internal로 이름이 변경됨. 노트의 기밀 플래그. 기본값 false.
internal 불리언 아니요 노트의 내부 플래그. 두 파라미터가 모두 제출된 경우 confidential을 덮어씀. 기본값 false.
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/epics/11/notes?body=note"

에픽 노트 업데이트#

에픽의 지정된 노트를 업데이트합니다.

PUT /groups/:id/epics/:epic_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
epic_id 정수 에픽의 ID
note_id 정수 노트의 ID
body 문자열 노트 내용. 최대 1,000,000자.
confidential 불리언 아니요 더 이상 사용되지 않음: GitLab 16.0에서 제거 예정. 노트의 기밀 플래그. 기본값 false.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/epics/11/notes/1?body=note"

에픽 노트 삭제#

에픽의 기존 노트를 삭제합니다.

DELETE /groups/:id/epics/:epic_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
epic_id 정수 에픽의 ID
note_id 정수 노트의 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/epics/52/notes/1659"

프로젝트 위키#

모든 프로젝트 위키 노트 목록 조회#

지정된 프로젝트 위키 페이지의 모든 노트를 반환합니다. 프로젝트 위키 노트는 사용자가 위키 페이지에 작성할 수 있는 댓글입니다.

Note

위키 페이지 노트 API는 위키 페이지 슬러그 대신 위키 페이지 메타 ID를 사용합니다. 페이지의 슬러그를 사용하면 GitLab이 404 오류를 반환합니다. 프로젝트 위키 API에서 메타 ID를 조회할 수 있습니다.

GET /projects/:id/wiki_pages/:wiki_page_meta_id/notes
GET /projects/:id/wiki_pages/:wiki_page_meta_id/notes?sort=asc&order_by=updated_at

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
sort 문자열 아니요 위키 페이지 노트를 asc 또는 desc 순서로 반환. 기본값 desc
order_by 문자열 아니요 created_at 또는 updated_at 필드로 위키 페이지 노트 정렬. 기본값 created_at
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/wiki_pages/35/notes"

위키 페이지 노트 조회#

지정된 위키 페이지의 단일 노트를 반환합니다.

GET /projects/:id/wiki_pages/:wiki_page_meta_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
note_id 정수 노트의 ID
{
  "author": {
      "id": 1,
      "username": "pipin",
      "email": "admin@example.com",
      "name": "Pip",
      "state": "active",
      "created_at": "2013-09-30T13:46:01Z"
  },
  "body": "foobar",
  "commands_changes": {},
  "confidential": false,
  "created_at": "2025-03-11T11:36:32.222Z",
  "id": 1218,
  "imported": false,
  "imported_from": "none",
  "internal": false,
  "noteable_id": 35,
  "noteable_iid": null,
  "noteable_type": "WikiPage::Meta",
  "project_id": 5,
  "resolvable": false,
  "system": false,
  "type": null,
  "updated_at": "2025-03-11T11:36:32.222Z"
}
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/wiki_pages/35/notes/1218"

위키 페이지 노트 생성#

단일 위키 페이지의 새 노트를 생성합니다. 위키 페이지 노트는 사용자가 위키 페이지에 작성할 수 있는 댓글입니다.

POST /projects/:id/wiki_pages/:wiki_page_meta_id/notes

파라미터:

속성 유형 필수 여부 설명
body 문자열 노트 내용. 최대 1,000,000자.
wiki_page_meta_id 정수 위키 페이지 메타의 ID
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/wiki_pages/35/notes?body=note"

위키 페이지 노트 업데이트#

위키 페이지의 기존 노트를 업데이트합니다.

PUT /projects/:id/wiki_pages/:wiki_page_meta_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
note_id 정수 노트의 ID
body 문자열 노트 내용. 최대 1,000,000자.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/wiki_pages/35/notes/1218?body=note"

위키 페이지 노트 삭제#

위키 페이지에서 노트를 삭제합니다.

DELETE /projects/:id/wiki_pages/:wiki_page_meta_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
note_id 정수 노트의 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/wiki_pages/35/notes/1218"

그룹 위키#

그룹 위키 노트 목록 조회#

지정된 그룹 위키 페이지의 모든 노트를 반환합니다. 그룹 위키 노트는 사용자가 위키 페이지에 작성할 수 있는 댓글입니다.

Note

위키 페이지 노트 API는 위키 페이지 슬러그 대신 위키 페이지 메타 ID를 사용합니다. 페이지의 슬러그를 사용하면 GitLab이 404 오류를 반환합니다. 그룹 위키 API에서 메타 ID를 조회할 수 있습니다.

GET /groups/:id/wiki_pages/:wiki_page_meta_id/notes
GET /groups/:id/wiki_pages/:wiki_page_meta_id/notes?sort=asc&order_by=updated_at
속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
sort 문자열 아니요 위키 페이지 노트를 asc 또는 desc 순서로 반환. 기본값 desc
order_by 문자열 아니요 created_at 또는 updated_at 필드로 위키 페이지 노트 정렬. 기본값 created_at
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/wiki_pages/35/notes"

위키 페이지 노트 조회#

위키 페이지의 지정된 노트를 반환합니다.

GET /groups/:id/wiki_pages/:wiki_page_meta_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
note_id 정수 노트의 ID
{
  "author": {
      "id": 1,
      "username": "pipin",
      "email": "admin@example.com",
      "name": "Pip",
      "state": "active",
      "created_at": "2013-09-30T13:46:01Z"
  },
  "body": "foobar",
  "commands_changes": {},
  "confidential": false,
  "created_at": "2025-03-11T11:36:32.222Z",
  "id": 1218,
  "imported": false,
  "imported_from": "none",
  "internal": false,
  "noteable_id": 35,
  "noteable_iid": null,
  "noteable_type": "WikiPage::Meta",
  "project_id": null,
  "resolvable": false,
  "system": false,
  "type": null,
  "updated_at": "2025-03-11T11:36:32.222Z"
}
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/wiki_pages/35/notes/1218"

위키 페이지 노트 생성#

지정된 위키 페이지의 노트를 생성합니다. 위키 페이지 노트는 사용자가 위키 페이지에 작성할 수 있는 댓글입니다.

POST /groups/:id/wiki_pages/:wiki_page_meta_id/notes

파라미터:

속성 유형 필수 여부 설명
body 문자열 노트 내용. 최대 1,000,000자.
wiki_page_meta_id 정수 위키 페이지 메타의 ID
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/wiki_pages/35/notes?body=note"

위키 페이지 노트 업데이트#

위키 페이지의 지정된 노트를 업데이트합니다.

PUT /groups/:id/wiki_pages/:wiki_page_meta_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
note_id 정수 노트의 ID
body 문자열 노트 내용. 최대 1,000,000자.
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/wiki_pages/35/notes/1218?body=note"

위키 페이지 노트 삭제#

위키 페이지에서 노트를 삭제합니다.

DELETE /groups/:id/wiki_pages/:wiki_page_meta_id/notes/:note_id

파라미터:

속성 유형 필수 여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
wiki_page_meta_id 정수 위키 페이지 메타의 ID
note_id 정수 노트의 ID
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/wiki_pages/35/notes/1218"