프로젝트 템플릿 API

Tier: Free, Premium, Ultimate

Offering: GitLab.com, Self-managed, GitLab Dedicated

이 API는 다음 엔드포인트의 프로젝트 전용 버전입니다:

이 엔드포인트는 API 버전 5에서 제거될 예정인 이러한 엔드포인트를 더 이상 지원하지 않습니다.

전체 인스턴스에 일반적인 템플릿 외에도, 프로젝트 전용 템플릿도 이 API 엔드포인트에서 제공됩니다.

또한 그룹 수준 파일 템플릿에 대한 지원도 가능합니다.

특정 유형의 모든 템플릿 가져오기

GET /projects/:id/templates/:type
속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩 경로.
type 문자열 템플릿의 유형입니다. 허용되는 값은: dockerfiles, gitignores, gitlab_ci_ymls, licenses, issues, 또는 merge_requests입니다.

예시 응답 (라이선스):

[
  {
    "key": "epl-1.0",
    "name": "Eclipse Public License 1.0"
  },
  {
    "key": "lgpl-3.0",
    "name": "GNU Lesser General Public License v3.0"
  },
  {
    "key": "unlicense",
    "name": "The Unlicense"
  },
  {
    "key": "agpl-3.0",
    "name": "GNU Affero General Public License v3.0"
  },
  {
    "key": "gpl-3.0",
    "name": "GNU General Public License v3.0"
  },
  {
    "key": "bsd-3-clause",
    "name": "BSD 3-clause \"New\" or \"Revised\" License"
  },
  {
    "key": "lgpl-2.1",
    "name": "GNU Lesser General Public License v2.1"
  },
  {
    "key": "mit",
    "name": "MIT License"
  },
  {
    "key": "apache-2.0",
    "name": "Apache License 2.0"
  },
  {
    "key": "bsd-2-clause",
    "name": "BSD 2-clause \"Simplified\" License"
  },
  {
    "key": "mpl-2.0",
    "name": "Mozilla Public License 2.0"
  },
  {
    "key": "gpl-2.0",
    "name": "GNU General Public License v2.0"
  }
]

특정 유형의 하나의 템플릿 가져오기

GET /projects/:id/templates/:type/:name
속성 유형 필수 설명
id 정수 또는 문자열 프로젝트의 ID 또는 URL 인코딩 경로.
name 문자열 컬렉션 엔드포인트에서 가져온 템플릿의 키입니다.
type 문자열 템플릿의 유형입니다. 하나: dockerfiles, gitignores, gitlab_ci_ymls, licenses, issues, 또는 merge_requests입니다.
fullname 문자열 아니요 템플릿에서 자리 표시자를 확장할 때 사용할 저작권 소유자의 전체 이름입니다. 라이선스에만 해당됩니다.
project 문자열 아니요 템플릿에서 자리 표시자를 확장할 때 사용할 프로젝트 이름입니다. 라이선스에만 해당됩니다.
source_template_project_id 정수 아니요 특정 템플릿이 저장된 프로젝트 ID입니다. 동일한 이름의 템플릿이 여러 프로젝트에 있을 때 유용합니다. 이름이 동일한 템플릿이 여러 개 있는 경우 source_template_project_id가 지정되지 않은 경우 closest ancestor의 매치가 반환됩니다.

예시 응답 (Dockerfile):

{
  "name": "Binary",
  "content": "# 이 파일은 템플릿이며, 프로젝트에서 작동하기 전에 편집이 필요할 수 있습니다.\n# 이 Dockerfile은 컴파일된 이진 파일을 베어 시스템에 설치합니다.\n# 컴파일된 이진 파일을 소스 제어에 커밋하거나(권장하지 않음)\n# CI/CD 파이프라인의 일환으로 먼저 이진 파일을 빌드해야 합니다.\n\nFROM buildpack-deps:buster\n\nWORKDIR /usr/local/bin\n\n# `app`을 이진 파일의 이름으로 변경하세요\nAdd app .\nCMD [\"./app\"]\n"
}

예시 응답 (라이선스):

{
  "key": "mit",
  "name": "MIT License",
  "nickname": null,
  "popular": true,
  "html_url": "http://choosealicense.com/licenses/mit/",
  "source_url": "https://opensource.org/licenses/MIT",
  "description": "저작권 및 라이선스 고지의 보존만 요구하는 조건을 가진 짧고 단순한 허용 라이선스입니다. 라이선스가 부여된 작업, 수정 및 더 큰 작업은 다른 조건 하에 배포할 수 있으며 소스 코드가 없어도 됩니다.",
  "conditions": [
    "include-copyright"
  ],
  "permissions": [
    "commercial-use",
    "modifications",
    "distribution",
    "private-use"
  ],
  "limitations": [
    "liability",
    "warranty"
  ],
  "content": "MIT License\n\nCopyright (c) 2018 [fullname]\n\n이 소프트웨어 및 관련 문서 파일(이하 \"소프트웨어\")의 복사본을 입수한 모든 사람에게\n무제한으로 소프트웨어를 다룰 수 있는 권한을 무료로 부여합니다.\n권리, 소프트웨어를 사용하고, 복사하며, 수정하고, 병합하고, 출판하고, 배포하며, 서브 라이센스를 부여하고,\n그리고/또는 소프트웨어의 복사본을 판매하는 권리, 그리고 소프트웨어가 제공되는\n사람들이 그렇게 할 수 있도록 허가합니다. 다음 조건에 따라:\n\n위의 저작권 고지 및 이 허가 고지가 모든 소프트웨어의 복사본이나 실질적인 부분에 포함되어야 합니다.\n\n소프트웨어는 \"있는 그대로\" 제공되며, 모든 종류의 보증 없이 제공됩니다. 명시적이든\n묵시적이든, 상품성, 특정 목적에 대한 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않으며,\n어떠한 경우에도 저자 또는 저작권 소유자는 소프트웨어 또는 소프트웨어의 사용 또는\n다른 거래에 관련하여 발생하는 모든 청구, 피해 또는 기타 책임에 대해 책임을 지지 않습니다.\n"
}