グループ Wiki API
グループWikiAPIはAPIv4でのみ利用可能です。プロジェクトWiki用のAPIもあります。
Wikiページ一覧
指定されたグループのすべてのWikiページを一覧表示します。
GET /groups/:id/wikis
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | グループの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" : "Here is an instruction how to deploy this project.",
"format" : "markdown",
"slug" : "deploy",
"title" : "deploy",
"encoding": "UTF-8"
},
{
"content" : "Our development process is described here.",
"format" : "markdown",
"slug" : "development",
"title" : "development",
"encoding": "UTF-8"
},{
"content" : "* [Deploy](deploy)\n* [Development](development)",
"format" : "markdown",
"slug" : "home",
"title" : "home",
"encoding": "UTF-8"
}
]
Wiki ページの取得
指定されたグループのWikiページを取得します。
GET /groups/:id/wikis/:slug
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | グループのIDまたはURLエンコードされたパス |
slug | 文字列です。 | yes | URLエンコードされたWikiページのスラッグ(ユニークな文字列)。dir%2Fpage_name
|
render_html | boolean | いいえ | WikiページのレンダリングされたHTMLを返します。 |
version | 文字列です。 | いいえ | Wikiページバージョン SHA |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/wikis/home"
応答例
{
"content" : "home page",
"format" : "markdown",
"slug" : "home",
"title" : "home",
"encoding": "UTF-8"
}
新しい Wiki ページを作成します。
与えられたリポジトリに対して、与えられたタイトル、スラッグ、内容で新しい Wiki ページを作成します。
POST /projects/:id/wikis
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | グループのIDまたはURLエンコードされたパス |
content | 文字列です。 | yes | Wikiページの内容 |
title | 文字列です。 | yes | Wikiページのタイトル |
format | 文字列です。 | いいえ | Wikiページのフォーマット。利用可能なフォーマットは 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"
}
既存の Wiki ページの編集
既存のWikiページを更新します。Wikiページを更新するには少なくとも1つのパラメータが必要です。
PUT /groups/:id/wikis/:slug
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | グループのIDまたはURLエンコードされたパス。 |
content | 文字列です。 |
title が提供されない場合は yes | Wikiページの内容。 |
title | 文字列です。 |
content が提供されない場合は yes | Wikiページのタイトル。 |
format | 文字列です。 | いいえ | Wiki ページのフォーマット。利用可能なフォーマットはmarkdown (デフォルト)、rdoc 、asciidoc 、org です。 |
slug | 文字列です。 | yes | Wikiページの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"
}
Wiki ページの削除
指定されたスラッグを持つ Wiki ページを削除します。
DELETE /groups/:id/wikis/:slug
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | グループのIDまたはURLエンコードされたパス |
slug | 文字列です。 | yes | URLエンコードされたWikiページのスラッグ(ユニークな文字列)。dir%2Fpage_name
|
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/wikis/foo"
成功した場合、HTTPステータスコードは204
、JSONレスポンスは期待されません。
Wikiリポジトリへの添付ファイルのアップロード
Wikiリポジトリ内のattachmentフォルダにファイルをアップロードします。添付ファイルフォルダはuploads
フォルダです。
POST /groups/:id/wikis/attachments
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | グループのIDまたはURLエンコードされたパス |
file | 文字列です。 | yes | アップロードする添付ファイル |
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/groups/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)"
}
}