ウィキAPI

GitLab 10.0で導入されました

APIv4でのみ利用可能です。

wikiページ一覧

指定されたプロジェクトのすべてのwikiページを取得します。

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" : "Here is an instruction how to deploy this project.",
    "format" : "markdown",
    "slug" : "deploy",
    "title" : "deploy"
  },
  {
    "content" : "Our development process is described here.",
    "format" : "markdown",
    "slug" : "development",
    "title" : "development"
  },{
    "content" : "*  [Deploy](deploy)\n*  [Development](development)",
    "format" : "markdown",
    "slug" : "home",
    "title" : "home"
  }
]

ウィキページの取得

指定されたプロジェクトのwikiページを取得します。

GET /projects/:id/wikis/:slug
属性 タイプ 必須 説明
id 整数/文字列 はい プロジェクトのIDまたはURLエンコードされたパス
slug はい ウィキページのスラッグ (ユニークな文字列)
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/wikis/home"

回答例

{
  "content" : "home page",
  "format" : "markdown",
  "slug" : "home",
  "title" : "home"
}

新しいウィキページの作成

与えられたリポジトリに対して、与えられたタイトル、スラッグ、内容で新しいwikiページを作成します。

POST /projects/:id/wikis
属性 タイプ 必須 説明
id 整数/文字列 はい プロジェクトのIDまたはURLエンコードされたパス
content はい ウィキページの内容
title はい ウィキページのタイトル
format いいえ ウィキページのフォーマット。利用可能なフォーマットは、markdown (デフォルト)、rdocasciidoc 、および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"
}

既存のウィキページの編集

既存のwikiページを更新します。 wikiページを更新するには、少なくとも1つのパラメータが必要です。

PUT /projects/:id/wikis/:slug
属性 タイプ 必須 説明
id 整数/文字列 はい プロジェクトのIDまたはURLエンコードされたパス
content はいtitle が提供されない場合 ウィキページの内容
title はいcontent が提供されない場合 ウィキページのタイトル
format いいえ ウィキページのフォーマット。利用可能なフォーマットは、markdown (デフォルト)、rdocasciidoc 、およびorg
slug はい ウィキページのスラッグ (ユニークな文字列)
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"
}

ウィキページの削除

指定されたスラッグを持つwikiページを削除します。

DELETE /projects/:id/wikis/:slug
属性 タイプ 必須 説明
id 整数/文字列 はい プロジェクトのIDまたはURLエンコードされたパス
slug はい ウィキページのスラッグ (ユニークな文字列)
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/wikis/foo"

成功した場合、HTTPステータスコードは204 、JSONレスポンスは期待されません。

wikiリポジトリへの添付ファイルのアップロード

wikiのリポジトリ内のattachmentフォルダにファイルをアップロードします。attachmentフォルダはuploads

POST /projects/:id/wikis/attachments
属性 タイプ 必須 説明
id 整数/文字列 はい プロジェクトのIDまたはURLエンコードされたパス
file はい アップロードする添付ファイル
branch いいえ ブランチの名前。 デフォルトはwikiリポジトリのデフォルトブランチです。

ファイルシステムからファイルをアップロードするには、--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" : "master",
  "link" : {
    "url" : "uploads/6a061c4cf9f1c28cb22c384b4b8d4e3c/dk.png",
    "markdown" : "![dk](uploads/6a061c4cf9f1c28cb22c384b4b8d4e3c/dk.png)"
  }
}