프로젝트 템플릿 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가 지정되지 않으면 가장 가까운 조상에서 일치되는 템플릿을 반환합니다.

Dockerfile 예시 응답:

{
  "name": "Binary",
  "content": "# This file is a template, and might need editing before it works on your project.\n# This Dockerfile installs a compiled binary into a bare system.\n# You must either commit your compiled binary into source control (not recommended)\n# or build the binary first as part of a CI/CD pipeline.\n\nFROM buildpack-deps:buster\n\nWORKDIR /usr/local/bin\n\n# Change `app` to whatever your binary is called\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": [
    "저작권 포함"
  ],
  "permissions": [
    "상업적 이용",
    "수정",
    "배포",
    "비공개적 사용"
  ],
  "limitations": [
    "책임",
    "보증"
  ],
  "content": "MIT 라이선스\n\n저작권 (c) 2018년 [fullname]\n\n다음 조건을 충족하는 경우 누구라도 이 소프트웨어 및 관련 문서 파일의 사본을 얻을 수 있으며 (이하 \"소프트웨어\"라 함), 계약, 통보 또는 상품화 없이 소프트웨어를 사용, 복사, 수정, 병합, 게시, 배포, 임대하거나 판매할 수 있습니다. 또한 이 허가에 따라 소프트웨어의 사본 또는 상당한 부분이 모든 사본에 상기 저작권 공지와 이 허가 통지가 포함되어야 합니다.\n\n소프트웨어는 모든 경우에 “있는 그대로” 제공됩니다. 상품성, 특정 목적에의 적합성 및 비침해성에 대한 보증 및 그와 관련된 기타 책임 여부에 상관없이 어떠한 주장, 손해 또는 기타 책임도 제한하지 않습니다. 79. 기타 이행 또는 소프트웨어 또는 이용 또는 기타 계약 또는 기타 일반적으로 계약의 규정으로 인해 발생하는 경우에 대해서도 제한하지 않습니다.\n"
}