프로젝트 템플릿 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입니다.

예시 응답 (licenses):

[
  {
    "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"
}

예시 응답 (license):

{
  "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 License\n\n저작권자 (c) 2018 [fullname]\n\n다음 조건이 포함된 증명을 따르지 않고 본 소프트웨어 및 관련 문서 파일(이하 '소프트웨어')을 차입하는 모든 사람에 대해\n본 소프트웨어의 사본 또는 상당부분을 얻는 자에게는 무료로 제공된다.\n본 소프트웨어의 사용, 복사, 수정, Merge, 발행, 배포, 하부 라이선스 및/또는 판매권 행사 및 소프트웨어를 제공 받은 사람에게\n이러한 조건들을 포함하지 않는 제한들없이 소프트웨어를 다루기 위해, 상기 출판권 통보와 이 허가 통지를 본 소프트웨어의 모든\n사본 또는 상당부분에 포함할 수 있다.\n\n소프트웨어는 '있는 그대로' 제공되며, 어떠한 종류의 보증도 포함되지 않은 상태로, 명시적, 또는 암시적으로도, 특정한 목적에 대한 저맥, 적합성,\n무침범성에 대한 보증도 포함하지 않습니다. 저작자 또는 저작권 보유자는 본 소프트웨어 또는 사용이나 기타 거래로 인해 발생하는\n청구, 손해 또는 기타 책임에 대해 어떠한 경우에도 책임이 없습니다.\n"
}