프로젝트 템플릿 API
Tier: Free, Premium, Ultimate
Offering: GitLab.com, Self-managed, GitLab Dedicated
이 API는 다음 엔드포인트의 프로젝트별 버전입니다:
- Dockerfile 템플릿
- Gitignore 템플릿
- GitLab CI/CD 구성 템플릿
- 오픈 소스 라이선스 템플릿
- 이슈 및 병합 요청 템플릿 (소개됨 in GitLab 13.3)
버전 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"
},
...
]
특정 유형의 하나의 템플릿 가져오기
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": "A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.",
...
}