Pages API
Offering: 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 |
정수 또는 문자열 | yes | 프로젝트의 ID 또는 URL 인코딩된 경로 |
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/2/pages"
프로젝트의 Pages 설정 조회#
히스토리
- GitLab 16.8에서 도입됨.
지정된 프로젝트의 Pages 설정을 조회합니다.
필수 요건:
- 프로젝트에 대한 Maintainer 또는 Owner 역할이 있어야 합니다.
GET /projects/:id/pages
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | Yes | 프로젝트의 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 설정을 업데이트합니다.
필수 요건:
- 프로젝트에 대한 Maintainer 또는 Owner 역할이 있어야 합니다.
PATCH /projects/:id/pages
지원되는 속성:
| 속성 | 유형 | 필수 여부 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | Yes | 프로젝트의 ID 또는 URL 인코딩된 경로 |
pages_unique_domain_enabled |
불리언 | No | 고유 도메인을 사용할지 여부. |
pages_https_only |
불리언 | No | HTTPS를 강제할지 여부. |
pages_primary_domain |
문자열 | No | 모든 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
}
