그룹 위키 API
Tier: Premium, Ultimate
Offering: GitLab.com, Self-managed, GitLab Dedicated
- GitLab 13.5에서 소개되었습니다.
encoding
필드는 GitLab 14.9에서 추가되었습니다.render_html
속성은 GitLab 14.9에서 추가되었습니다.version
속성은 GitLab 14.9에서 추가되었습니다.
그룹 위키 API는 APIv4에서만 사용할 수 있습니다. 프로젝트 위키에 대한 API도 있습니다.
위키 페이지 디렉터리
특정 그룹의 모든 위키 페이지를 나열합니다.
GET /groups/:id/wikis
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
with_content
| boolean | 아니오 | 페이지 내용 포함 여부. |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/wikis?with_content=1"
응답 예시:
[
{
"content" : "프로젝트를 배포하는 방법에 대한 안내입니다.",
"format" : "markdown",
"slug" : "deploy",
"title" : "deploy",
"encoding": "UTF-8"
},
{
"content" : "저희의 개발 프로세스가 여기에 설명되어 있습니다.",
"format" : "markdown",
"slug" : "development",
"title" : "development",
"encoding": "UTF-8"
},{
"content" : "* [배포](deploy)\n* [개발](development)",
"format" : "markdown",
"slug" : "home",
"title" : "home",
"encoding": "UTF-8"
}
]
위키 페이지 가져오기
특정 그룹의 위키 페이지를 가져옵니다.
GET /groups/:id/wikis/:slug
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
slug
| string | 예 | 위키 페이지의 URL 인코딩된 슬러그(고유 문자열), 예: dir%2Fpage_name .
|
render_html
| boolean | 아니오 | 렌더링된 HTML 반환 여부. |
version
| string | 아니오 | 위키 페이지 버전 SHA. |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/wikis/home"
응답 예시:
{
"content" : "홈 페이지",
"format" : "markdown",
"slug" : "home",
"title" : "home",
"encoding": "UTF-8"
}
새로운 위키 페이지 생성
주어진 리포지터리에 주어진 제목, 슬러그, 내용으로 새로운 위키 페이지를 생성합니다.
POST /projects/:id/wikis
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
content
| string | 예 | 위키 페이지의 내용. |
title
| string | 예 | 위키 페이지의 제목. |
format
| string | 아니오 | 위키 페이지의 형식. 사용 가능한 형식은: markdown (기본값), rdoc , asciidoc , org .
|
curl --data "format=rdoc&title=Hello&content=Hello world" \
--header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/1/wikis"
응답 예시:
{
"content" : "Hello world",
"format" : "markdown",
"slug" : "Hello",
"title" : "Hello",
"encoding": "UTF-8"
}
기존 위키 페이지 편집
기존 위키 페이지를 업데이트합니다. 위키 페이지를 업데이트하려면 적어도 하나의 매개변수가 필요합니다.
PUT /groups/:id/wikis/:slug
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | 예 | 그룹의 ID 또는 URL 인코딩된 경로. |
content
| string |
title 이 제공되지 않으면 예, 필수
| 위키 페이지의 내용. |
title
| string |
content 가 제공되지 않으면 예, 필수
| 위키 페이지의 제목. |
format
| string | 아니오 | 위키 페이지의 형식. 사용 가능한 형식은 markdown (기본값), rdoc , asciidoc , org .
|
slug
| string | 예 | 위키 페이지의 URL 인코딩된 슬러그(고유 문자열). 예: dir%2Fpage_name .
|
curl --request PUT --data "format=rdoc&content=documentation&title=Docs" \
--header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/groups/1/wikis/foo"
응답 예시:
{
"content" : "documentation",
"format" : "markdown",
"slug" : "Docs",
"title" : "Docs",
"encoding": "UTF-8"
}
위키 페이지 삭제
주어진 슬러그와 함께 위키 페이지를 삭제합니다.
DELETE /groups/:id/wikis/:slug
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | 예 | 그룹의 ID 또는 URL-인코딩된 경로. |
slug
| string | 예 | 위키 페이지의 URL-인코딩된 슬러그(고유 문자열), 예: dir%2Fpage_name .
|
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/wikis/foo"
성공 시, 빈 본문과 함께 204 No Content
HTTP 응답이 예상됩니다.
위키 리포지터리에 첨부 파일 업로드
위키 리포지터리 내의 첨부 파일 폴더에 파일을 업로드합니다.
첨부 파일 폴더는 uploads
폴더입니다.
POST /groups/:id/wikis/attachments
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id
| integer/string | 예 | 그룹의 ID 또는 URL-인코딩된 경로. |
file
| string | 예 | 업로드할 첨부 파일. |
branch
| string | 아니요 | 브랜치의 이름. 위키 리포지터리의 기본 브랜치로 기본 설정됩니다. |
파일 시스템에서 파일을 업로드하려면 --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/groups/1/wikis/attachments"
예시 응답:
{
"file_name" : "dk.png",
"file_path" : "uploads/6a061c4cf9f1c28cb22c384b4b8d4e3c/dk.png",
"branch" : "main",
"link" : {
"url" : "uploads/6a061c4cf9f1c28cb22c384b4b8d4e3c/dk.png",
"markdown" : ""
}
}