설명 템플릿
이슈 및 병합 요청에 사용할 템플릿을 정의할 수 있습니다.
프로젝트, 그룹 또는 인스턴스에서 이러한 템플릿을 정의할 수 있습니다. 프로젝트는 상위 수준에서 정의된 템플릿을 상속받습니다.
이러한 템플릿을 사용하려면 다음을 고려해야 합니다:
- 워크플로우의 다른 단계에 대한 템플릿, 예를 들어 기능 제안, 기능 개선 또는 버그 보고서 등을 사용할 수 있습니다.
- 특정 프로젝트의 모든 이슈 또는 병합 요청에 대해 일관된 레이아웃을 구성할 수 있습니다.
- Service Desk 이메일 템플릿에 사용할 수 있습니다.
템플릿이 작동하려면 다음이 충족되어야 합니다:
-
.md
확장자로 저장되어야 합니다. - 프로젝트의 저장소인
.gitlab/issue_templates
또는.gitlab/merge_request_templates
디렉토리에 저장되어야 합니다. - 기본 브랜치에 존재해야 합니다.
이슈 템플릿 만들기
저장소의 .gitlab/issue_templates/
디렉토리 안에 새로운 마크다운(.md
) 파일을 만드세요.
이슈 설명 템플릿을 만들려면:
- 왼쪽 사이드바에서 찾기 또는 이동을 선택하여 프로젝트를 찾습니다.
- 코드 > 저장소를 선택합니다.
- 기본 브랜치 옆에서 를 선택합니다.
- 새 파일을 선택합니다.
- 기본 브랜치 옆에서 파일 이름 텍스트 상자에
.gitlab/issue_templates/mytemplate.md
를 입력합니다. 여기서mytemplate
은 이슈 템플릿의 이름입니다. - 기본 브랜치에 커밋합니다.
이것이 올바르게 작동했는지 확인하려면 새로운 이슈를 생성하여 템플릿 선택 드롭다운 목록에서 설명 템플릿을 찾을 수 있는지 확인하십시오.
병합 요청 템플릿 만들기
이슈 템플릿과 유사하게, 저장소의 .gitlab/merge_request_templates/
디렉토리 안에 새로운 마크다운(.md
) 파일을 만듭니다. 그러나 이슈 템플릿과는 달리, 병합 요청에는 추가 상속 규칙이 있습니다. 이는 커밋 메시지 및 브랜치 이름의 내용에 따라 달라집니다.
프로젝트에 대한 병합 요청 설명 템플릿을 만들려면:
- 왼쪽 사이드바에서 찾기 또는 이동을 선택하여 프로젝트를 찾습니다.
- 코드 > 저장소를 선택합니다.
- 기본 브랜치 옆에서 를 선택합니다.
- 새 파일을 선택합니다.
- 기본 브랜치 옆에서 파일 이름 텍스트 상자에
.gitlab/merge_request_templates/mytemplate.md
를 입력합니다. 여기서mytemplate
은 병합 요청 템플릿의 이름입니다. - 기본 브랜치에 커밋합니다.
이것이 올바르게 작동했는지 확인하려면 새로운 병합 요청을 생성하여 템플릿 선택 드롭다운 목록에서 설명 템플릿을 찾을 수 있는지 확인하십시오.
템플릿 사용
이슈나 병합 요청을 생성하거나 수정할 때, 템플릿 선택 드롭다운 목록에 나타납니다.
템플릿을 적용하려면:
- 이슈나 병합 요청을 생성하거나 수정합니다.
- 템플릿 선택 드롭다운 목록을 선택합니다.
- 설명 텍스트 상자가 비어 있지 않다면, 확인하려면 템플릿 적용을 선택합니다.
- 변경 사항 저장을 선택합니다.
설명 템플릿을 선택하면 해당 내용이 설명 텍스트 상자에 복사됩니다.
템플릿을 선택한 후 설명을 변경한 사항을 취소하려면: 템플릿 선택 드롭다운 목록을 확장하고 템플릿 초기화를 선택합니다.
참고:
지정된 템플릿을 사용하여 이슈를 생성하는 단축 링크를 만들 수 있습니다.
예: https://gitlab.com/gitlab-org/gitlab/-/issues/new?issuable_template=Feature%20proposal
. 사전 작성된 값 사용하여 이슈 생성에 대해 자세히 알아보세요.
병합 요청 템플릿에서 지원되는 변수
참고: 이 기능은 병합 요청 및 이슈의 기본 템플릿 설정만 사용할 수 있습니다.
처음으로 병합 요청을 저장할 때, GitLab은 병합 요청 템플릿에서 이러한 변수를 해당 값으로 대체합니다:
변수 | 설명 | 예시 출력 |
---|---|---|
%{all_commits}
| 병합 요청의 모든 커밋에서의 메시지입니다. 최대 100개의 최신 커밋으로 제한됩니다. 100KiB를 초과하는 커밋 본문은 건너뜁니다. 병합 커밋 메시지도 제외됩니다. |
* 기능 도입 이 커밋은 기능을 구현합니다 Changelog: 추가 * 버그 수정 * 문서 개선 이 커밋은 더 나은 문서를 소개했습니다.
|
%{co_authored_by}
| 병합 요청에서 최근 100개의 커밋 작성자의 이름과 이메일입니다. Co-authored-by Git 커밋 트레일러 형식으로 표시됩니다.
|
Co-authored-by: Zane Doe <zdoe@example.com> Co-authored-by: Blake Smith <bsmith@example.com>
|
%{first_commit}
| 병합 요청 diff에서 첫 번째 커밋의 전체 메시지입니다. | README.md 업데이트
|
%{first_multiline_commit}
| 병합 요청의 첫 번째 커밋의 전체 메시지입니다. 만약 모든 커밋이 여러 줄이 아닌 경우, 병합 요청 제목이 표시됩니다. |
README.md 업데이트 readme 파일에서 프로젝트 설명 개선.
|
%{source_branch}
| 병합될 브랜치의 이름입니다. | my-feature-branch
|
%{target_branch}
| 변경 사항이 적용되는 브랜치의 이름입니다. | main
|
인스턴스 수준의 설명 템플릿 설정
인스턴스 템플릿 저장소를 사용하여 프로젝트나 병합 요청에 대한 인스턴스 수준의 설명 템플릿을 설정할 수 있습니다. 또한 파일 템플릿에도 인스턴스 템플릿 저장소를 사용할 수 있습니다.
인스턴스 내에서 새로운 프로젝트를 생성할 때 사용할 수 있는 프로젝트 템플릿에도 관심이 있을 것입니다.
그룹 수준 설명 템플릿 설정
그룹 수준(group-level) 설명 템플릿을 사용하면 그룹 내에서 프로젝트를 선택하여 템플릿을 저장할 수 있습니다. 그런 다음, 해당 템플릿을 그룹의 다른 프로젝트에서 액세스할 수 있습니다. 이를 통해 그룹의 모든 프로젝트에서 이슈 및 병합 요청에 동일한 템플릿을 사용할 수 있습니다.
전제 조건:
- 그룹에 대한 소유자 역할이 있어야 합니다.
- 프로젝트는 그룹의 직계 하위여야 합니다.
생성한 템플릿을 재사용하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 설정 > 일반을 선택합니다.
- 템플릿을 확장합니다.
- 드롭다운 목록에서 템플릿 프로젝트를 템플릿 저장소로 그룹 수준에서 선택합니다.
- 변경 사항 저장을 선택합니다.
또한 그룹 내 다양한 파일 유형에 대한 템플릿에 관심이 있을 수 있습니다.
병합 요청 및 이슈의 기본 템플릿 설정
프로젝트에서 새 이슈 및 병합 요청에 대한 기본 설명 템플릿을 선택할 수 있습니다. 결과적으로, 새 병합 요청 또는 이슈를 생성할 때마다 템플릿에 입력한 텍스트가 미리 채워집니다.
전제 조건:
- 프로젝트의 왼쪽 사이드바에서 설정 > 일반을 선택하고 가시성, 프로젝트 기능, 권한을 확장합니다. 이슈 또는 병합 요청이 액세스가 가능한 모든 사용자 또는 프로젝트 구성원만으로 설정되어 있는지 확인합니다.
병합 요청에 대한 기본 설명 템플릿을 설정하려면 다음 중 하나를 수행합니다:
-
병합 요청 템플릿을 생성하여
Default.md
로 명명(대소문자 구분 없음) 및.gitlab/merge_request_templates/
에 저장합니다. 이 기본 템플릿의 우선순위가 프로젝트 설정에서 설정된 기본 템플릿을 덮어쓰지 않습니다. -
GitLab 프리미엄 및 얼티밋 사용자: 프로젝트 설정에서 기본 템플릿을 설정합니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 병합 요청을 위한 기본 설명 템플릿 섹션에서 텍스트 영역을 채웁니다.
- 변경 사항 저장을 선택합니다.
이슈에 대한 기본 설명 템플릿을 설정하려면 다음 중 하나를 수행합니다:
-
이슈 템플릿을 생성하여
Default.md
로 명명(대소문자 구분 없음) 및.gitlab/issue_templates/
에 저장합니다. 이 기본 템플릿의 우선순위가 프로젝트 설정에서 설정된 기본 템플릿을 덮어쓰지 않습니다. -
GitLab 프리미엄 및 얼티밋 사용자: 프로젝트 설정에서 기본 템플릿을 설정합니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 일반을 선택합니다.
- 이슈에 대한 기본 설명 템플릿을 확장합니다.
- 텍스트 영역을 채웁니다.
- 변경 사항 저장을 선택합니다.
GitLab 병합 요청 및 이슈는 마크다운을 지원하므로 제목, 목록 등을 포맷하는 데 사용할 수 있습니다.
기본 이슈 및 병합 요청 템플릿을 최신 상태로 유지하기 위해
프로젝트 REST API에서 issues_template
및 merge_requests_template
속성을 제공할 수도 있습니다.
기본 설명 템플릿의 우선순위
각 위치에서 이슈 설명 템플릿을 설정할 때 해당 위치는 프로젝트에서 다음과 같은 우선순위를 가집니다. 아래 위치에서 설정된 것이 위쪽에 설정된 것을 덮어쓰게 됩니다:
- 프로젝트 설정에 설정된 템플릿.
- 상위 그룹의
Default.md
(대소문자 구분 없이). - 프로젝트 저장소의
Default.md
(대소문자 구분 없이).
병합 요청에는 추가 상속 규칙이 있으며, 이는 커밋 메시지 및 브랜치 이름의 내용에 따라 달라집니다.
예제 설명 템플릿
우리는 GitLab 프로젝트의
.gitlab
폴더에서 이슈 및 병합 요청에 대한 설명 템플릿을 사용하고 있으며,
일부 예시를 참고할 수 있습니다.
참고: 설명 템플릿에서 빠르게 레이블, 담당자, 마일스톤을 추가하려면 빠른 작업을 사용할 수 있습니다. 빠른 작업은 이슈 또는 병합 요청을 제출한 사용자가 해당 작업을 수행할 권한이 있는 경우에만 실행됩니다.
다음은 버그 보고서 템플릿의 예시입니다:
## 요약
(간결하게 발생한 버그를 요약)
## 재현 방법
(버그를 재현하는 방법 - 매우 중요합니다)
## 예제 프로젝트
(가능한 경우, 여기에서 GitLab.com에서 이슈가 나타나는 예제 프로젝트를 만들고
이 버그 보고서에 링크하세요.
GitLab의 이전 버전을 사용하는 경우에는 이것이 해당 버전에서 수정되었는지 여부를
결정할 것입니다.)
## 현재 버그 동작은 무엇인가요?
(실제로 발생하는 것)
## 기대되는 올바른 동작은 무엇인가요?
(올바른 동작이어야 하는 것)
## 관련 로그 및/또는 스크린샷
(관련 로그를 붙여넣으세요 - 콘솔 출력, 로그, 코드 등을 포맷하는 데 코드 블록(```)을 사용하세요.
그렇지 않으면 읽기가 매우 어려울 수 있습니다.)
## 가능한 수정 방법
(해당 문제의 책임이 있을 수 있는 코드 라인에 링크를 할 수 있는 경우)
/label ~bug ~reproduced ~needs-investigation
/cc @project-manager
/assign @qa-tester