Pages API
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLab Pagesを管理するためのエンドポイント。
これらのエンドポイントを使用するには、GitLab Pages機能を有効にする必要があります。この機能の管理と使用について、詳細はこちらをご覧ください。
Pagesの公開を停止
前提要件:
- プロジェクトのメンテナー以上のロールを持っている必要があります。
Pagesを削除します。
DELETE /projects/:id/pages| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/2/pages"プロジェクトのPages設定を取得
前提要件:
- プロジェクトのメンテナー以上のロールを持っている必要があります。
プロジェクトのPages設定を一覧表示します。
GET /projects/:id/pagesサポートされている属性は以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
成功した場合、200と次のレスポンス属性を返します:
| 属性 | 型 | 説明 |
|---|---|---|
url | 文字列 | このプロジェクトのPagesにアクセスするためのURL。 |
is_unique_domain_enabled | ブール値 | ユニークドメインが有効になっている場合。 |
force_https | ブール値 | プロジェクトがHTTPSを強制するように設定されている場合はtrue。 |
deployments[] | 配列 | 現在アクティブなデプロイの一覧。 |
primary_domain | 文字列 | すべてのPagesリクエストをリダイレクトするプライマリドメイン。GitLab 17.8で導入されました。 |
deployments[]属性 | 型 | 説明 |
|---|---|---|
created_at | 日付 | デプロイが作成された日付。 |
url | 文字列 | このデプロイのURL。 |
path_prefix | 文字列 | 並列デプロイを使用する場合の、このデプロイのプレフィックスパス。 |
root_directory | 文字列 | ルートディレクトリ。 |
リクエスト例:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/2/pages"レスポンス例:
{
"url": "http://html-root-4160ce5f0e9a6c90ccb02755b7fc80f5a2a09ffbb1976cf80b653.pages.gdk.test:3010",
"is_unique_domain_enabled": true,
"force_https": false,
"deployments": [
{
"created_at": "2024-01-05T18:58:14.916Z",
"url": "http://html-root-4160ce5f0e9a6c90ccb02755b7fc80f5a2a09ffbb1976cf80b653.pages.gdk.test:3010/",
"path_prefix": "",
"root_directory": null
},
{
"created_at": "2024-01-05T18:58:46.042Z",
"url": "http://html-root-4160ce5f0e9a6c90ccb02755b7fc80f5a2a09ffbb1976cf80b653.pages.gdk.test:3010/mr3",
"path_prefix": "mr3",
"root_directory": null
}
],
"primary_domain": null
}プロジェクトのPages設定を更新
前提要件:
- プロジェクトのメンテナー以上のロールを持っている必要があります。
プロジェクトのPages設定を更新します。
PATCH /projects/:id/pagesサポートされている属性は以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
pages_unique_domain_enabled | ブール値 | いいえ | ユニークドメインを使用するかどうか |
pages_https_only | ブール値 | いいえ | HTTPSを強制するかどうか |
pages_primary_domain | 文字列 | いいえ | すべてのPagesリクエストをリダイレクトするために、既存の割り当てられたドメインからプライマリドメインを設定します。GitLab 17.8で導入されました。 |
成功した場合、200と次のレスポンス属性を返します:
| 属性 | 型 | 説明 |
|---|---|---|
url | 文字列 | このプロジェクトのPagesにアクセスするためのURL。 |
is_unique_domain_enabled | ブール値 | ユニークドメインが有効になっている場合。 |
force_https | ブール値 | プロジェクトがHTTPSを強制するように設定されている場合はtrue。 |
deployments[] | 配列 | 現在アクティブなデプロイの一覧。 |
primary_domain | 文字列 | すべてのPagesリクエストをリダイレクトするプライマリドメイン。GitLab 17.8で導入されました。 |
deployments[]属性 | 型 | 説明 |
|---|---|---|
created_at | 日付 | デプロイが作成された日付。 |
url | 文字列 | このデプロイのURL。 |
path_prefix | 文字列 | 並列デプロイを使用する場合の、このデプロイのプレフィックスパス。 |
root_directory | 文字列 | ルートディレクトリ。 |
リクエスト例:
curl --request PATCH \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/:id/pages" \
--form 'pages_unique_domain_enabled=true' \
--form 'pages_https_only=true' \
--form 'pages_primary_domain=https://custom.example.com'レスポンス例:
{
"url": "http://html-root-4160ce5f0e9a6c90ccb02755b7fc80f5a2a09ffbb1976cf80b653.pages.gdk.test:3010",
"is_unique_domain_enabled": true,
"force_https": false,
"deployments": [
{
"created_at": "2024-01-05T18:58:14.916Z",
"url": "http://html-root-4160ce5f0e9a6c90ccb02755b7fc80f5a2a09ffbb1976cf80b653.pages.gdk.test:3010/",
"path_prefix": "",
"root_directory": null
},
{
"created_at": "2024-01-05T18:58:46.042Z",
"url": "http://html-root-4160ce5f0e9a6c90ccb02755b7fc80f5a2a09ffbb1976cf80b653.pages.gdk.test:3010/mr3",
"path_prefix": "mr3",
"root_directory": null
}
],
"primary_domain": null
}