설명 템플릿

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

이슈병합 요청에 사용할 템플릿을 정의할 수 있습니다.

프로젝트, 그룹 또는 인스턴스에서 이러한 템플릿을 정의할 수 있습니다. 프로젝트는 상위 수준에서 정의된 템플릿을 상속받습니다.

이러한 템플릿을 사용하려면 다음을 고려해야 합니다:

  • 워크플로우의 다른 단계에 대한 템플릿, 예를 들어 기능 제안, 기능 개선 또는 버그 보고서 등을 사용할 수 있습니다.
  • 특정 프로젝트의 모든 이슈 또는 병합 요청에 대해 일관된 레이아웃을 구성할 수 있습니다.
  • Service Desk 이메일 템플릿에 사용할 수 있습니다.

템플릿이 작동하려면 다음이 충족되어야 합니다:

  • .md 확장자로 저장되어야 합니다.
  • 프로젝트의 저장소인 .gitlab/issue_templates 또는 .gitlab/merge_request_templates 디렉토리에 저장되어야 합니다.
  • 기본 브랜치에 존재해야 합니다.

이슈 템플릿 만들기

저장소의 .gitlab/issue_templates/ 디렉토리 안에 새로운 마크다운(.md) 파일을 만드세요.

이슈 설명 템플릿을 만들려면:

  1. 왼쪽 사이드바에서 찾기 또는 이동을 선택하여 프로젝트를 찾습니다.
  2. 코드 > 저장소를 선택합니다.
  3. 기본 브랜치 옆에서 를 선택합니다.
  4. 새 파일을 선택합니다.
  5. 기본 브랜치 옆에서 파일 이름 텍스트 상자에 .gitlab/issue_templates/mytemplate.md를 입력합니다. 여기서 mytemplate은 이슈 템플릿의 이름입니다.
  6. 기본 브랜치에 커밋합니다.

이것이 올바르게 작동했는지 확인하려면 새로운 이슈를 생성하여 템플릿 선택 드롭다운 목록에서 설명 템플릿을 찾을 수 있는지 확인하십시오.

병합 요청 템플릿 만들기

이슈 템플릿과 유사하게, 저장소의 .gitlab/merge_request_templates/ 디렉토리 안에 새로운 마크다운(.md) 파일을 만듭니다. 그러나 이슈 템플릿과는 달리, 병합 요청에는 추가 상속 규칙이 있습니다. 이는 커밋 메시지 및 브랜치 이름의 내용에 따라 달라집니다.

프로젝트에 대한 병합 요청 설명 템플릿을 만들려면:

  1. 왼쪽 사이드바에서 찾기 또는 이동을 선택하여 프로젝트를 찾습니다.
  2. 코드 > 저장소를 선택합니다.
  3. 기본 브랜치 옆에서 를 선택합니다.
  4. 새 파일을 선택합니다.
  5. 기본 브랜치 옆에서 파일 이름 텍스트 상자에 .gitlab/merge_request_templates/mytemplate.md를 입력합니다. 여기서 mytemplate은 병합 요청 템플릿의 이름입니다.
  6. 기본 브랜치에 커밋합니다.

이것이 올바르게 작동했는지 확인하려면 새로운 병합 요청을 생성하여 템플릿 선택 드롭다운 목록에서 설명 템플릿을 찾을 수 있는지 확인하십시오.

템플릿 사용

이슈나 병합 요청을 생성하거나 수정할 때, 템플릿 선택 드롭다운 목록에 나타납니다.

템플릿을 적용하려면:

  1. 이슈나 병합 요청을 생성하거나 수정합니다.
  2. 템플릿 선택 드롭다운 목록을 선택합니다.
  3. 설명 텍스트 상자가 비어 있지 않다면, 확인하려면 템플릿 적용을 선택합니다.
  4. 변경 사항 저장을 선택합니다.

설명 템플릿을 선택하면 해당 내용이 설명 텍스트 상자에 복사됩니다.

템플릿을 선택한 후 설명을 변경한 사항을 취소하려면: 템플릿 선택 드롭다운 목록을 확장하고 템플릿 초기화를 선택합니다.

이슈에서 설명 템플릿 선택

참고: 지정된 템플릿을 사용하여 이슈를 생성하는 단축 링크를 만들 수 있습니다. 예: 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

인스턴스 수준의 설명 템플릿 설정

Tier: Premium, Ultimate Offering: Self-managed, GitLab Dedicated

인스턴스 템플릿 저장소를 사용하여 프로젝트나 병합 요청에 대한 인스턴스 수준의 설명 템플릿을 설정할 수 있습니다. 또한 파일 템플릿에도 인스턴스 템플릿 저장소를 사용할 수 있습니다.

인스턴스 내에서 새로운 프로젝트를 생성할 때 사용할 수 있는 프로젝트 템플릿에도 관심이 있을 것입니다.

그룹 수준 설명 템플릿 설정

Tier: 프리미엄, 얼티밋 Offering: GitLab.com, Self-managed, GitLab Dedicated

그룹 수준(group-level) 설명 템플릿을 사용하면 그룹 내에서 프로젝트를 선택하여 템플릿을 저장할 수 있습니다. 그런 다음, 해당 템플릿을 그룹의 다른 프로젝트에서 액세스할 수 있습니다. 이를 통해 그룹의 모든 프로젝트에서 이슈 및 병합 요청에 동일한 템플릿을 사용할 수 있습니다.

전제 조건:

  • 그룹에 대한 소유자 역할이 있어야 합니다.
  • 프로젝트는 그룹의 직계 하위여야 합니다.

생성한 템플릿을 재사용하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 그룹을 찾습니다.
  2. 설정 > 일반을 선택합니다.
  3. 템플릿을 확장합니다.
  4. 드롭다운 목록에서 템플릿 프로젝트를 템플릿 저장소로 그룹 수준에서 선택합니다.
  5. 변경 사항 저장을 선택합니다.

그룹 템플릿 설정

또한 그룹 내 다양한 파일 유형에 대한 템플릿에 관심이 있을 수 있습니다.

병합 요청 및 이슈의 기본 템플릿 설정

프로젝트에서 새 이슈 및 병합 요청에 대한 기본 설명 템플릿을 선택할 수 있습니다. 결과적으로, 새 병합 요청 또는 이슈를 생성할 때마다 템플릿에 입력한 텍스트가 미리 채워집니다.

전제 조건:

  • 프로젝트의 왼쪽 사이드바에서 설정 > 일반을 선택하고 가시성, 프로젝트 기능, 권한을 확장합니다. 이슈 또는 병합 요청이 액세스가 가능한 모든 사용자 또는 프로젝트 구성원만으로 설정되어 있는지 확인합니다.

병합 요청에 대한 기본 설명 템플릿을 설정하려면 다음 중 하나를 수행합니다:

  • 병합 요청 템플릿을 생성하여 Default.md로 명명(대소문자 구분 없음) 및 .gitlab/merge_request_templates/에 저장합니다. 이 기본 템플릿의 우선순위가 프로젝트 설정에서 설정된 기본 템플릿을 덮어쓰지 않습니다.
  • GitLab 프리미엄 및 얼티밋 사용자: 프로젝트 설정에서 기본 템플릿을 설정합니다.

    1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
    2. 설정 > 병합 요청을 선택합니다.
    3. 병합 요청을 위한 기본 설명 템플릿 섹션에서 텍스트 영역을 채웁니다.
    4. 변경 사항 저장을 선택합니다.

이슈에 대한 기본 설명 템플릿을 설정하려면 다음 중 하나를 수행합니다:

  • 이슈 템플릿을 생성하여 Default.md로 명명(대소문자 구분 없음) 및 .gitlab/issue_templates/에 저장합니다. 이 기본 템플릿의 우선순위가 프로젝트 설정에서 설정된 기본 템플릿을 덮어쓰지 않습니다.
  • GitLab 프리미엄 및 얼티밋 사용자: 프로젝트 설정에서 기본 템플릿을 설정합니다.

    1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
    2. 설정 > 일반을 선택합니다.
    3. 이슈에 대한 기본 설명 템플릿을 확장합니다.
    4. 텍스트 영역을 채웁니다.
    5. 변경 사항 저장을 선택합니다.

GitLab 병합 요청 및 이슈는 마크다운을 지원하므로 제목, 목록 등을 포맷하는 데 사용할 수 있습니다.

기본 이슈 및 병합 요청 템플릿을 최신 상태로 유지하기 위해 프로젝트 REST API에서 issues_templatemerge_requests_template 속성을 제공할 수도 있습니다.

기본 설명 템플릿의 우선순위

각 위치에서 이슈 설명 템플릿을 설정할 때 해당 위치는 프로젝트에서 다음과 같은 우선순위를 가집니다. 아래 위치에서 설정된 것이 위쪽에 설정된 것을 덮어쓰게 됩니다:

  1. 프로젝트 설정에 설정된 템플릿.
  2. 상위 그룹의 Default.md (대소문자 구분 없이).
  3. 프로젝트 저장소의 Default.md (대소문자 구분 없이).

병합 요청에는 추가 상속 규칙이 있으며, 이는 커밋 메시지 및 브랜치 이름의 내용에 따라 달라집니다.

예제 설명 템플릿

우리는 GitLab 프로젝트의 .gitlab 폴더에서 이슈 및 병합 요청에 대한 설명 템플릿을 사용하고 있으며, 일부 예시를 참고할 수 있습니다.

참고: 설명 템플릿에서 빠르게 레이블, 담당자, 마일스톤을 추가하려면 빠른 작업을 사용할 수 있습니다. 빠른 작업은 이슈 또는 병합 요청을 제출한 사용자가 해당 작업을 수행할 권한이 있는 경우에만 실행됩니다.

다음은 버그 보고서 템플릿의 예시입니다:

## 요약

(간결하게 발생한 버그를 요약)

## 재현 방법

(버그를 재현하는 방법 - 매우 중요합니다)

## 예제 프로젝트

(가능한 경우, 여기에서 GitLab.com에서 이슈가 나타나는 예제 프로젝트를 만들고
이 버그 보고서에 링크하세요.
GitLab의 이전 버전을 사용하는 경우에는 이것이 해당 버전에서 수정되었는지 여부를
결정할 것입니다.)

## 현재 버그 동작은 무엇인가요?

(실제로 발생하는 것)

## 기대되는 올바른 동작은 무엇인가요?

(올바른 동작이어야 하는 것)

## 관련 로그 및/또는 스크린샷

(관련 로그를 붙여넣으세요 - 콘솔 출력, 로그, 코드 등을 포맷하는 데 코드 블록(```)을 사용하세요.
그렇지 않으면 읽기가 매우 어려울 수 있습니다.)

## 가능한 수정 방법

(해당 문제의 책임이 있을 수 있는 코드 라인에 링크를 할 수 있는 경우)

/label ~bug ~reproduced ~needs-investigation
/cc @project-manager
/assign @qa-tester