InfoGrab Docs

Pages API

요약

이 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 설정 조회#

히스토리

지정된 프로젝트의 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 설정 업데이트#

히스토리
  • GitLab 17.0에서 도입됨.
  • GitLab 17.9에서 최소 필수 역할이 관리자 액세스에서 Maintainer 역할로 변경됨.

지정된 프로젝트의 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
}

Pages API

Tier: Free, Premium, Ultimate
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 설정 조회#

히스토리

지정된 프로젝트의 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 설정 업데이트#

히스토리
  • GitLab 17.0에서 도입됨.
  • GitLab 17.9에서 최소 필수 역할이 관리자 액세스에서 Maintainer 역할로 변경됨.

지정된 프로젝트의 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
}