프로젝트 위키 API
Offering: GitLab.com, Self-managed, GitLab Dedicated
프로젝트 wikis API는 APIv4에서만 사용할 수 있습니다.
group wikis API도 제공됩니다.
위키 페이지 목록
주어진 프로젝트의 모든 위키 페이지를 가져옵니다.
GET /projects/:id/wikis
| 속성 | 유형 | 필수 | 설명 | 
|---|---|---|---|
| id | 정수/문자열 | 예 | 프로젝트의 ID 또는 URL-인코딩된 경로. | 
| with_content | 불린 | 아니요 | 페이지의 내용을 포함합니다. | 
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/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 /projects/: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/projects/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/projects/1/wikis"
응답 예시:
{
  "content" : "Hello world",
  "format" : "markdown",
  "slug" : "Hello",
  "title" : "Hello",
  "encoding": "UTF-8"
}
기존 위키 페이지 수정
기존 위키 페이지를 업데이트합니다. 위키 페이지를 업데이트하려면 최소한 한 개의 매개변수가 필요합니다.
PUT /projects/: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/projects/1/wikis/foo"
예시 응답:
{
  "content" : "documentation",
  "format" : "markdown",
  "slug" : "Docs",
  "title" : "Docs",
  "encoding": "UTF-8"
}
위키 페이지 삭제
주어진 슬러그로 위키 페이지를 삭제합니다.
DELETE /projects/: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/projects/1/wikis/foo"
성공하면 빈 본문의 204 No Content HTTP 응답이 예상됩니다.
위키 리포지토리에 첨부 파일 업로드
위키 리포지토리 내의 첨부 파일 폴더에 파일을 업로드합니다.
첨부 파일 폴더는 uploads 폴더입니다.
POST /projects/: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/projects/1/wikis/attachments"
예시 응답:
{
  "file_name" : "dk.png",
  "file_path" : "uploads/6a061c4cf9f1c28cb22c384b4b8d4e3c/dk.png",
  "branch" : "main",
  "link" : {
    "url" : "uploads/6a061c4cf9f1c28cb22c384b4b8d4e3c/dk.png",
    "markdown" : ""
  }
}
 도움말
        도움말