설명 템플릿
프로젝트의 이슈 및 병합 요청에 대한 설명으로 사용할 템플릿을 정의할 수 있습니다.
이 템플릿은 프로젝트, 그룹 또는 인스턴스에서 정의할 수 있습니다. 프로젝트는 상위 수준에서 정의된 템플릿을 상속받습니다.
다음과 같은 템플릿을 사용하고 싶을 수도 있습니다:
- 워크플로의 다양한 단계, 예를 들어 기능 제안, 기능 개선 또는 버그 보고서에 대해.
- 특정 프로젝트의 모든 이슈 또는 병합 요청에 대해 동일한 레이아웃을 유지하기 위해.
- 서비스 데스크 이메일 템플릿을 위해.
설명 템플릿이 작동하려면 다음이 필요합니다:
-
.md
확장자로 저장되어야 합니다. - 프로젝트의 저장소 내에서
.gitlab/issue_templates
또는.gitlab/merge_request_templates
디렉토리에 저장되어야 합니다. - 기본 브랜치에 존재해야 합니다.
이슈 템플릿 생성하기
저장소의 .gitlab/issue_templates/
디렉토리 내에 새 Markdown(.md
) 파일을 생성하세요.
이슈 설명 템플릿을 만들기 위해:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 코드 > 저장소를 선택합니다.
- 기본 브랜치 옆에서 를 선택합니다.
- 새 파일을 선택합니다.
- 기본 브랜치 옆의 파일 이름 텍스트 상자에
.gitlab/issue_templates/mytemplate.md
를 입력합니다,
여기서mytemplate
은 이슈 템플릿의 이름입니다. - 기본 브랜치에 커밋합니다.
작동이 제대로 되었는지 확인하기 위해, 새 이슈 생성하기를 선택하고
템플릿 선택 드롭다운 목록에서 설명 템플릿을 찾을 수 있는지 확인하세요.
병합 요청 템플릿 생성하기
이슈 템플릿과 유사하게, 저장소의 .gitlab/merge_request_templates/
디렉토리 내에 새 Markdown(.md
) 파일을 생성합니다.
이슈 템플릿과 달리, 병합 요청은 커밋 메시지 및 브랜치 이름 내용에 따라 추가 상속 규칙이 있습니다.
프로젝트에 대한 병합 요청 설명 템플릿을 생성하기 위해:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 코드 > 저장소를 선택합니다.
- 기본 브랜치 옆에서 를 선택합니다.
- 새 파일을 선택합니다.
- 기본 브랜치 옆의 파일 이름 텍스트 상자에
.gitlab/merge_request_templates/mytemplate.md
를 입력합니다,
여기서mytemplate
은 병합 요청 템플릿의 이름입니다. - 기본 브랜치에 커밋합니다.
작동이 제대로 되었는지 확인하기 위해, 새 병합 요청 생성하기를 선택하고
템플릿 선택 드롭다운 목록에서 설명 템플릿을 찾을 수 있는지 확인하세요.
템플릿 사용하기
이슈 또는 병합 요청을 생성하거나 편집할 때, 템플릿 선택 드롭다운 목록에 표시됩니다.
템플릿을 적용하려면:
- 이슈 또는 병합 요청을 생성하거나 편집합니다.
- 템플릿 선택 드롭다운 목록을 선택합니다.
- 설명 텍스트 상자가 비어 있지 않은 경우, 확인을 위해 템플릿 적용을 선택합니다.
- 변경 사항 저장을 선택합니다.
설명 템플릿을 선택하면, 그 내용이 설명 텍스트 상자에 복사됩니다.
선택한 템플릿 후에 설명에 대한 변경 사항을 취소하려면: 템플릿 선택 드롭다운 목록을 확장하고
템플릿 재설정을 선택합니다.
참고:
지정된 템플릿을 사용하여 이슈를 생성하는 바로 가기 링크를 만들 수 있습니다.
예: https://gitlab.com/gitlab-org/gitlab/-/issues/new?issuable_template=Feature%20proposal
.
미리 채워진 값을 사용하여 URL로 이슈 생성하기에 대해 더 알아보세요.
병합 요청 템플릿에서 지원되는 변수
- GitLab 15.7에서 도입됨.
참고: 이 기능은 기본 템플릿에서만 사용 가능합니다.
병합 요청을 처음 저장할 때, GitLab은 병합 요청 템플릿의 이러한 변수를 해당 값으로 대체합니다:
변수 | 설명 | 출력 예시 |
---|---|---|
%{all_commits} |
병합 요청의 모든 커밋에서 메시지. 최근 100개의 커밋으로 제한됩니다. 100 KiB를 초과하는 커밋 본문과 병합 커밋 메시지를 건너뜁니다. |
* 기능 도입됨 이 커밋은 기능을 구현합니다 변경 사항: 추가됨 * 버그 수정됨 * 문서 개선됨 이 커밋은 더 나은 문서를 도입했습니다.
|
%{co_authored_by} |
Co-authored-by Git 커밋 트레일러 형식의 커밋 작성자의 이름과 이메일. 병합 요청의 최근 100개 커밋 작성자로 제한됩니다. |
Co-authored-by: Zane Doe <zdoe@example.com> Co-authored-by: Blake Smith <bsmith@example.com>
|
%{first_commit} |
병합 요청 차이의 첫 번째 커밋의 전체 메시지입니다. | README.md 업데이트 |
%{first_multiline_commit} |
병합 커밋이 아니고 메시지 본문에 한 줄 이상이 있는 첫 번째 커밋의 전체 메시지입니다. 모든 커밋이 여러 줄이 아닐 경우 병합 요청 제목입니다. |
README.md 업데이트 readme 파일의 프로젝트 설명 개선.
|
%{source_branch} |
병합 중인 브랜치의 이름입니다. | my-feature-branch |
%{target_branch} |
변경 내용이 적용되는 브랜치의 이름입니다. | main |
인스턴스 수준의 설명 템플릿 설정
문제 및 병합 요청에 대해 인스턴스 수준에서 설명 템플릿을 설정할 수 있습니다.
인스턴스 템플릿 리포지토리를 사용하여 설정하세요.
파일 템플릿에도 인스턴스 템플릿 리포지토리를 사용할 수 있습니다.
새 프로젝트를 생성할 때 사용할 수 있는 프로젝트 템플릿에 관심이 있을 수도 있습니다.
그룹 수준의 설명 템플릿 설정
그룹 수준 설명 템플릿을 사용하면 템플릿을 저장할 프로젝트를 그룹 내에서 선택할 수 있습니다.
그런 다음, 그룹의 다른 프로젝트에서 이러한 템플릿에 접근할 수 있습니다.
그 결과, 그룹의 모든 프로젝트에서 문제와 병합 요청에 동일한 템플릿을 사용할 수 있습니다.
전제 조건:
- 그룹의 소유자 역할이 있어야 합니다.
- 프로젝트는 그룹의 직접 자식이어야 합니다.
생성한 템플릿을 다시 사용하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
- 설정 > 일반을 선택합니다.
- 템플릿을 확장합니다.
- 드롭다운 목록에서 그룹 수준의 템플릿 리포지토리로 템플릿 프로젝트를 선택합니다.
- 변경 사항 저장을 선택합니다.
다양한 파일 유형의 템플릿에도 관심이 있을 수 있습니다.
머지 요청 및 이슈에 대한 기본 템플릿 설정
프로젝트에서 새 이슈 및 머지 요청에 대한 기본 설명 템플릿을 선택할 수 있습니다.
그 결과, 새로운 머지 요청 또는 이슈가 생성될 때마다 템플릿에 입력한 텍스트로 미리 채워집니다.
필수 조건:
-
프로젝트의 왼쪽 사이드바에서 설정 > 일반을 선택하고 가시성, 프로젝트 기능, 권한을 확장합니다.
이슈 또는 머지 요청이 모든 접근 권한이 있는 사용자 또는 프로젝트 멤버만으로 설정되어 있는지 확인합니다.
머지 요청에 대한 기본 설명 템플릿을 설정하려면 다음 중 하나를 선택합니다:
-
머지 요청 템플릿 생성하기라는 이름의
Default.md
(대소문자 구분 없음) 파일을 만들어.gitlab/merge_request_templates/
에 저장합니다.이 기본 템플릿을 덮어쓰지 않습니다 만약 프로젝트 설정에서 이미 하나가 설정되어 있다면.
-
GitLab Premium 및 Ultimate 사용자는: 프로젝트 설정에서 기본 템플릿을 설정합니다:
-
왼쪽 사이드바에서 검색 또는 이동하여 프로젝트를 찾아 선택합니다.
-
설정 > 머지 요청을 선택합니다.
-
머지 요청에 대한 기본 설명 템플릿 섹션에서 텍스트 영역을 채웁니다.
-
변경사항 저장을 선택합니다.
-
이슈에 대한 기본 설명 템플릿을 설정하려면 다음 중 하나를 선택합니다:
-
이슈 템플릿 생성하기라는 이름의
Default.md
(대소문자 구분 없음) 파일을 만들어.gitlab/issue_templates/
에 저장합니다.이 기본 템플릿을 덮어쓰지 않습니다 만약 프로젝트 설정에서 이미 하나가 설정되어 있다면.
-
GitLab Premium 및 Ultimate 사용자는: 프로젝트 설정에서 기본 템플릿을 설정합니다:
-
왼쪽 사이드바에서 검색 또는 이동하여 프로젝트를 찾아 선택합니다.
-
설정 > 일반을 선택합니다.
-
이슈에 대한 기본 설명 템플릿을 확장합니다.
-
텍스트 영역을 채웁니다.
-
변경사항 저장을 선택합니다.
-
GitLab 머지 요청 및 이슈는 Markdown을 지원하므로 제목, 목록 등을 형식화하는 데 사용할 수 있습니다.
또한, 기본 이슈 및 머지 요청 템플릿을 최신 상태로 유지하기 위해 Projects 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