그룹 위키 API

Tier: 프리미엄, 얼티메이트 Offering: GitLab.com, Self-Managed, GitLab Dedicated

그룹 위키 API는 APIv4에서만 사용할 수 있습니다. 프로젝트 위키용 API도 제공됩니다.

위키 페이지 목록

주어진 그룹의 모든 위키 페이지를 나열합니다.

GET /groups/:id/wikis
속성 타입 필수 설명
id 정수/문자열 그룹의 ID 또는 URL 인코딩된 경로
with_content 부울값 아니요 페이지 콘텐츠를 포함합니다.
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 정수/문자열 그룹의 ID 또는 URL 인코딩된 경로
slug 문자열 URL 인코딩된 슬러그(고유 문자열), 예: dir%2Fpage_name
render_html 부울값 아니요 렌더링된 위키 페이지의 HTML 반환
version 문자열 아니요 위키 페이지 버전 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 정수/문자열 그룹의 ID 또는 URL 인코딩된 경로
content 문자열 위키 페이지의 내용
title 문자열 위키 페이지의 제목
format 문자열 아니요 위키 페이지 형식. 사용 가능한 형식: 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 정수/문자열 그룹의 ID 또는 URL 인코딩된 경로
content 문자열 title이 제공되지 않으면 필수 위키 페이지의 내용
title 문자열 content가 제공되지 않으면 필수 위키 페이지의 제목
format 문자열 아니요 위키 페이지 형식. 사용 가능한 형식: markdown (기본값), rdoc, asciidoc, org
slug 문자열 위키 페이지의 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 정수/문자열 그룹의 ID 또는 URL 인코딩된 경로
slug 문자열 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 정수/문자열 그룹의 ID 또는 URL 인코딩된 경로.
file 문자열 업로드할 첨부 파일.
branch 문자열 아니요 브랜치 이름. 기본값은 위키 리포지토리의 기본 브랜치입니다.

파일을 파일 시스템에서 업로드하려면 --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" : "![dk](uploads/6a061c4cf9f1c28cb22c384b4b8d4e3c/dk.png)"
  }
}