Pages API
GitLab v19.5Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
이 API를 사용해 GitLab Pages를 관리하고 사용합니다. 이 엔드포인트를 사용하려면 GitLab Pages 기능이 활성화되어 있어야 합니다. 지정한 프로젝트에서 Pages 게시를 해제하고 제거합니다. 지정한 프로젝트의 Pages 설정을 조회합니다.
이 API를 사용해 GitLab Pages를 관리하고 사용합니다.
이 엔드포인트를 사용하려면 GitLab Pages 기능이 활성화되어 있어야 합니다.
Pages 게시 해제#
히스토리
- GitLab 17.9에서 최소 필요 권한이 관리자 액세스에서 Maintainer 권한으로 변경되었습니다
지정한 프로젝트에서 Pages 게시를 해제하고 제거합니다.
사전 요구 사항:
- 프로젝트에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.
DELETE /projects/:id/pages
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | yes | 프로젝트의 ID 또는 URL 인코딩된 경로입니다 |
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/2/pages"
프로젝트의 Pages 설정 조회#
지정한 프로젝트의 Pages 설정을 조회합니다.
사전 요구 사항:
- 프로젝트에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.
GET /projects/:id/pages
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | Yes | 프로젝트의 ID 또는 URL 인코딩된 경로입니다 |
성공하면 200과 다음 응답 속성을
반환합니다.
| 속성 | 유형 | 설명 |
|---|---|---|
url |
string | 이 프로젝트의 Pages 사이트에 접근하는 URL 입니다. |
is_unique_domain_enabled |
boolean | 고유 도메인 활성화 여부입니다. |
force_https |
boolean | 프로젝트가 HTTPS 강제로 설정되어 있으면 true 입니다. |
deployments[] |
array | 현재 활성 배포 목록입니다. |
primary_domain |
string | 모든 Pages 요청을 리디렉션할 기본 도메인입니다. GitLab 17.8에서 도입되었습니다. |
deployments[] attribute |
Type | Description |
|---|---|---|
created_at |
date | 배포가 생성된 날짜입니다. |
url |
string | 이 배포의 URL 입니다. |
path_prefix |
string | 병렬 배포를 사용할 때 이 배포의 경로 접두사입니다. |
root_directory |
string | 루트 디렉터리입니다. |
요청 예시:
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 설정을 업데이트합니다.
사전 요구 사항:
- 프로젝트에 대한 Maintainer 또는 Owner 권한이 있어야 합니다.
PATCH /projects/:id/pages
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
integer or string | Yes | 프로젝트의 ID 또는 URL 인코딩된 경로입니다 |
pages_unique_domain_enabled |
boolean | No | 고유 도메인 사용 여부입니다 |
pages_https_only |
boolean | No | HTTPS 강제 여부입니다 |
pages_primary_domain |
string | No | 이미 할당된 도메인 중에서 모든 Pages 요청을 리디렉션할 기본 도메인을 설정합니다. GitLab 17.8에서 도입되었습니다. |
성공하면 200과 다음 응답 속성을
반환합니다.
| 속성 | 유형 | 설명 |
|---|---|---|
url |
string | 이 프로젝트의 Pages 사이트에 접근하는 URL 입니다. |
is_unique_domain_enabled |
boolean | 고유 도메인 활성화 여부입니다. |
force_https |
boolean | 프로젝트가 HTTPS 강제로 설정되어 있으면 true 입니다. |
deployments[] |
array | 현재 활성 배포 목록입니다. |
primary_domain |
string | 모든 Pages 요청을 리디렉션할 기본 도메인입니다. GitLab 17.8에서 도입되었습니다. |
deployments[] attribute |
Type | Description |
|---|---|---|
created_at |
date | 배포가 생성된 날짜입니다. |
url |
string | 이 배포의 URL 입니다. |
path_prefix |
string | 병렬 배포를 사용할 때 이 배포의 경로 접두사입니다. |
root_directory |
string | 루트 디렉터리입니다. |
요청 예시:
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
}