초안 노트 API
Tier: Free, Premium, Ultimate
Offering: GitLab.com, Self-managed, GitLab Dedicated
초안 노트는 병합 요청에 대한 보류 중인, 미발행 댓글입니다. 이들은 다음과 같을 수 있습니다:
- 논의를 시작하다.
- 기존의 논의에 답변으로 계속하다.
발행하기 전에는 초안 노트가 작성자에게만 보입니다.
모든 병합 요청 초안 노트 목록 가져오기
단일 병합 요청에 대한 모든 초안 노트 목록을 가져옵니다.
GET /projects/:id/merge_requests/:merge_request_iid/draft_notes
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL-인코딩된 경로 |
merge_request_iid |
정수 | 예 | 프로젝트 병합 요청의 IID |
[{
id: 5,
author_id: 23,
merge_request_id: 11,
resolve_discussion: false,
discussion_id: nil,
note: "예제 제목",
commit_id: nil,
line_code: nil,
position:
{
base_sha: nil,
start_sha: nil,
head_sha: nil,
old_path: nil,
new_path: nil,
position_type: "text",
old_line: nil,
new_line: nil,
line_range: nil
}
}]
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes"
단일 초안 노트 가져오기
주어진 병합 요청에 대한 단일 초안 노트를 반환합니다.
GET /projects/:id/merge_requests/:merge_request_iid/draft_notes/:draft_note_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL-인코딩된 경로. |
draft_note_id |
정수 | 예 | 초안 노트의 ID. |
merge_request_iid |
정수 | 예 | 프로젝트 병합 요청의 IID |
{
id: 5,
author_id: 23,
merge_request_id: 11,
resolve_discussion: false,
discussion_id: nil,
note: "예제 제목",
commit_id: nil,
line_code: nil,
position:
{
base_sha: nil,
start_sha: nil,
head_sha: nil,
old_path: nil,
new_path: nil,
position_type: "text",
old_line: nil,
new_line: nil,
line_range: nil
}
}
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes/5"
초안 노트 생성
주어진 병합 요청에 대한 초안 노트를 생성합니다.
POST /projects/:id/merge_requests/:merge_request_iid/draft_notes
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL-인코딩된 경로. |
merge_request_iid |
정수 | 예 | 프로젝트 병합 요청의 IID |
note |
문자열 | 예 | 노트의 내용. |
commit_id |
문자열 | 아니오 | 초안 노트를 연결할 커밋의 SHA. |
in_reply_to_discussion_id |
문자열 | 아니오 | 초안 노트가 답장하는 논의의 ID. |
resolve_discussion |
불린 값 | 아니오 | 연결된 논의를 해결해야 합니다. |
position[base_sha] |
문자열 | 예 | 소스 브랜치의 기본 커밋 SHA. |
position[head_sha] |
문자열 | 예 | 이 병합 요청의 HEAD를 참조하는 SHA. |
position[start_sha] |
문자열 | 예 | 대상 브랜치의 커밋을 참조하는 SHA. |
position[new_path] |
문자열 | 예 (position type이 text 인 경우) |
변경 후 파일 경로. |
position[old_path] |
문자열 | 예 (position type이 text 인 경우) |
변경 전 파일 경로. |
position[position_type] |
문자열 | 예 | 위치 참조의 유형. 허용된 값: text , image 또는 file . file 은 GitLab 16.4에서 도입되었습니다. |
position |
해시 | 아니오 | diff 노트를 생성할 때의 위치. |
position[new_line] |
정수 | 아니오 |
text diff 노트의 경우, 변경 후 줄 번호. |
position[old_line] |
정수 | 아니오 |
text diff 노트의 경우, 변경 전 줄 번호. |
position[line_range] |
해시 | 아니오 | 다중 줄 diff 노트의 줄 범위. |
position[width] |
정수 | 아니오 |
image diff 노트의 경우, 이미지의 너비. |
position[height] |
정수 | 아니오 |
image diff 노트의 경우, 이미지의 높이. |
position[x] |
부동 소수점 | 아니오 |
image diff 노트의 경우, X 좌표. |
position[y] |
부동 소수점 | 아니오 |
image diff 노트의 경우, Y 좌표. |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes?note=note"
기존 초안 노트 수정
주어진 병합 요청에 대한 초안 노트를 수정합니다.
PUT /projects/:id/merge_requests/:merge_request_iid/draft_notes/:draft_note_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로입니다. |
draft_note_id |
정수 | 예 | 초안 노트의 ID입니다. |
merge_request_iid |
정수 | 예 | 프로젝트 병합 요청의 IID입니다. |
note |
문자열 | 아니요 | 노트의 내용입니다. |
position[base_sha] |
문자열 | 예 | 소스 브랜치의 기본 커밋 SHA입니다. |
position[head_sha] |
문자열 | 예 | 이 병합 요청의 HEAD를 참조하는 SHA입니다. |
position[start_sha] |
문자열 | 예 | 대상 브랜치의 커밋을 참조하는 SHA입니다. |
position[new_path] |
문자열 | 예 (위치 유형이 text 인 경우) |
변경 후 파일 경로입니다. |
position[old_path] |
문자열 | 예 (위치 유형이 text 인 경우) |
변경 전 파일 경로입니다. |
position[position_type] |
문자열 | 예 | 위치 참조의 유형입니다. 허용되는 값: text , image 또는 file . file 은 GitLab 16.4에서 도입됨. |
position |
해시 | 아니요 | diff 노트를 생성할 때의 위치입니다. |
position[new_line] |
정수 | 아니요 |
text diff 노트의 경우, 변경 후 줄 번호입니다. |
position[old_line] |
정수 | 아니요 |
text diff 노트의 경우, 변경 전 줄 번호입니다. |
position[line_range] |
해시 | 아니요 | 다중 줄 diff 노트의 줄 범위입니다. |
position[width] |
정수 | 아니요 |
image diff 노트의 경우, 이미지의 너비입니다. |
position[height] |
정수 | 아니요 |
image diff 노트의 경우, 이미지의 높이입니다. |
position[x] |
부동 소수점 | 아니요 |
image diff 노트의 경우, X 좌표입니다. |
position[y] |
부동 소수점 | 아니요 |
image diff 노트의 경우, Y 좌표입니다. |
curl --request PUT \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes/5"
초안 노트 삭제
주어진 병합 요청에 대한 기존 초안 노트를 삭제합니다.
DELETE /projects/:id/merge_requests/:merge_request_iid/draft_notes/:draft_note_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
draft_note_id |
정수 | 예 | 초안 노트의 ID입니다. |
id |
정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로입니다. |
merge_request_iid |
정수 | 예 | 프로젝트 병합 요청의 IID입니다. |
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes/5"
초안 메모 게시하기
주어진 병합 요청에 대해 기존 초안 메모를 게시합니다.
PUT /projects/:id/merge_requests/:merge_request_iid/draft_notes/:draft_note_id/publish
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
draft_note_id |
정수 | 예 | 초안 메모의 ID입니다. |
id |
정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로입니다. |
merge_request_iid |
정수 | 예 | 프로젝트 병합 요청의 IID입니다. |
curl --request PUT \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes/5/publish"
모든 보류 중인 초안 메모 게시하기
사용자에게 속하는 주어진 병합 요청에 대해 모든 기존 초안 메모를 일괄 게시합니다.
POST /projects/:id/merge_requests/:merge_request_iid/draft_notes/bulk_publish
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 또는 문자열 | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로입니다. |
merge_request_iid |
정수 | 예 | 프로젝트 병합 요청의 IID입니다. |
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/14/merge_requests/11/draft_notes/bulk_publish"