Markdown 업로드 API
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
이 API를 사용하여 이슈, 머지 리퀘스트, 스니펫 또는 위키 페이지의 Markdown 텍스트에서 참조할 수 있는 Markdown 업로드를 관리합니다. 이슈 또는 머지 리퀘스트 설명, 또는 댓글에 사용하기 위해 지정된 프로젝트에 파일을 업로드합니다.
이 API를 사용하여 이슈, 머지 리퀘스트, 스니펫 또는 위키 페이지의 Markdown 텍스트에서 참조할 수 있는 Markdown 업로드를 관리합니다.
업로드 만들기#
히스토리
이슈 또는 머지 리퀘스트 설명, 또는 댓글에 사용하기 위해 지정된 프로젝트에 파일을 업로드합니다.
POST /projects/:id/uploads
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
file |
string | 예 | 업로드할 파일. |
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
파일 시스템에서 파일을 업로드하려면 --form 인수를 사용합니다. 이렇게 하면 cURL이 Content-Type: multipart/form-data 헤더를 사용하여 데이터를 게시합니다. file= 매개변수는 파일 시스템의 파일을 가리켜야 하며 @ 앞에 있어야 합니다.
요청 예시:
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--form "file=@dk.png" "https://gitlab.example.com/api/v4/projects/5/uploads"
응답 예시:
{
"id": 5,
"alt": "dk",
"url": "/uploads/66dbcd21ec5d24ed6ea225176098d52b/dk.png",
"full_path": "/-/project/1234/uploads/66dbcd21ec5d24ed6ea225176098d52b/dk.png",
"markdown": ""
}
응답에서:
full_path는 파일의 절대 경로입니다.url은 Markdown 컨텍스트에서 사용할 수 있습니다.markdown의 형식이 사용되면 링크가 확장됩니다.
업로드 목록 조회#
히스토리
- GitLab 17.2에서 도입.
created_at 기준으로 내림차순으로 정렬된 프로젝트의 모든 업로드를 나열합니다.
사전 요건:
- 유지 관리자(Maintainer) 또는 소유자(Owner) 권한.
GET /projects/:id/uploads
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads"
응답 예시:
[
{
"id": 1,
"size": 1024,
"filename": "image.png",
"created_at":"2024-06-20T15:53:03.067Z",
"uploaded_by": {
"id": 18,
"name" : "Alexandra Bashirian",
"username" : "eileen.lowe"
}
},
{
"id": 2,
"size": 512,
"filename": "other-image.png",
"created_at":"2024-06-19T15:53:03.067Z",
"uploaded_by": null
}
]
ID로 업로드된 파일 다운로드#
히스토리
- GitLab 17.2에서 도입.
ID로 업로드된 파일을 다운로드합니다.
사전 요건:
- 유지 관리자(Maintainer) 또는 소유자(Owner) 권한.
GET /projects/:id/uploads/:upload_id
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
upload_id |
integer | 예 | 업로드의 ID. |
성공하면 200과 응답 본문에 업로드된 파일을 반환합니다.
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads/1"
시크릿 및 파일 이름으로 업로드된 파일 다운로드#
히스토리
- GitLab 17.4에서 도입.
시크릿 및 파일 이름으로 업로드된 파일을 다운로드합니다.
사전 요건:
- 게스트(Guest), 플래너(Planner), 리포터(Reporter), 개발자(Developer), 유지 관리자(Maintainer) 또는 소유자(Owner) 권한.
GET /projects/:id/uploads/:secret/:filename
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
secret |
string | 예 | 업로드의 32자 시크릿. |
filename |
string | 예 | 업로드의 파일 이름. |
성공하면 200과 응답 본문에 업로드된 파일을 반환합니다.
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads/648d97c6eef5fc5df8d1004565b3ee5a/sample.jpg"
ID로 업로드된 파일 삭제#
히스토리
- GitLab 17.2에서 도입.
ID로 업로드된 파일을 삭제합니다.
사전 요건:
- 유지 관리자(Maintainer) 또는 소유자(Owner) 권한.
DELETE /projects/:id/uploads/:upload_id
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
upload_id |
integer | 예 | 업로드의 ID. |
성공하면 응답 본문 없이 204 상태 코드를 반환합니다.
요청 예시:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads/1"
시크릿 및 파일 이름으로 업로드된 파일 삭제#
히스토리
- GitLab 17.4에서 도입.
시크릿 및 파일 이름으로 업로드된 파일을 삭제합니다.
사전 요건:
- 유지 관리자(Maintainer) 또는 소유자(Owner) 권한.
DELETE /projects/:id/uploads/:secret/:filename
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | 예 | 프로젝트의 ID 또는 URL 인코딩된 경로. |
secret |
string | 예 | 업로드의 32자 시크릿. |
filename |
string | 예 | 업로드의 파일 이름. |
성공하면 응답 본문 없이 204 상태 코드를 반환합니다.
요청 예시:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/uploads/648d97c6eef5fc5df8d1004565b3ee5a/sample.jpg"
