InfoGrab DocsInfoGrab 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 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 설정 업데이트#

히스토리
  • GitLab 17.0에서 도입되었습니다.
  • GitLab 17.9에서 최소 필요 권한이 관리자 액세스에서 Maintainer 권한으로 변경되었습니다

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

Pages API

GitLab v19.5
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 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 설정 업데이트#

히스토리
  • GitLab 17.0에서 도입되었습니다.
  • GitLab 17.9에서 최소 필요 권한이 관리자 액세스에서 Maintainer 권한으로 변경되었습니다

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