본문 바로가기
DevOps

[Gitlab] 이슈 템플릿 생성하기

by 쏘야.yap 2020. 7. 20.
728x90

이번 프로젝트에서는 이슈를 Gitlab의 issue board로 관리하고 있는데, 깔끔하고 한 눈에 알아보기 편하도록 팀원들 간의 이슈 카드 생성 규칙을 정하고 문서화하였다.

그림 1. 이슈카드 생성 규칙

그러나 문서화만 해서는 이슈를 생성할 때 마다 일일이 문서를 다시 찾아보아야 하는 번거로움이 발생한다.

이러한 케이스를 위해, Gitlab에서는 issue template 기능을 제공하고 있으며, 여러 템플릿을 생성하여 repository에 등록하고, 상황에 맞춰서 사용할 수 있다.

참고: Gitlab 에서는 merge request에 대한 템플릿도 제공하고 있으며, 이 둘을 합쳐서 description template 이라고 이른다.

 

1. .gitlab/issue_templates 디렉토리 생성

Gitlab 에서 제공하는 모든 템플릿은 마크다운  문서로 작성하여 프로젝트 최상단의  .gitlab 디렉토리 에 저장해야한다.

Issue Template 은 .gitlab/issue_templates 디렉토리 에 여러 개를 작성할 수 있으며, 상황에 따라 알맞은 템플릿을 적용시킬 수 있다.

나는 .gitlab/issue_templates 디렉토리가 없기 때문에, mkdir 명령어를 통해 생성해주었다.

 

[mkdir 명령어를 통해 .gitlab/issue_templates 디렉토리 생성]

(base) ➜  my-repo git:(master) mkdir .gitlab
(base) ➜  my-repo git:(master) cd .gitlab
(base) ➜  .gitlab git:(master) mkdir issue_templates

 

2. issue template 생성

이제 용도에 알맞은 이슈 템플릿을 마크다운으로 작성해주면 된다.

나는 feature 개발에 필요한 이슈 템플릿을 만들어줄 것이기 때문에,  feature_request.md  라는 이름으로 작성해보도록 하겠다.

 

[feature_request.md 생성]

(base) ➜  .gitlab git:(master) cd issue_templates
(base) ➜  issue_templates git:(master) vi feature_request.md

 

[feature_request.md]

<!-- feature 와 관련된 이슈 템플릿 -->
<!-- [선택] 필요한 경우, 이 이슈 전에 해야하는 이슈를 등록한다. -->
<!-- ex) 선행 과제 : #00 이슈 이름 -->

<!-- [필수] 이 이슈카드에 대한 설명. 최대한 다른 사람이 알아볼 수 있도록 적어주자 -->

<!-- [선택] 필요에 따라서, 이 이슈를 위한 체크리스트를 체크박스로 만들어두자 -->
<!-- ex) - [ ] 체크리스트 작성하기 -->

 

3. 원격 저장소에 push 하기

이제 작성한 템플릿 md 파일을 원격 저장소에 push 해주기만 하면 된다.

 

[원격 저장소에 Push]

(base) ➜  my-repo git:(master) ✗ git add .gitlab
(base) ➜  my-repo git:(master) ✗ git commit
[master (root-commit) ac6f774] docs: issue template 추가
 1 file changed, 9 insertions(+)
 create mode 100644 .gitlab/issue_templates/feature_request.md
(base) ➜  my-repo git:(master) ✗ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (5/5), 756 bytes | 756.00 KiB/s, done.
Total 5 (delta 0), reused 0 (delta 0)
To https://git.mygit.org/mygitlab/my-repo.git
 * [new branch]      master -> master

 

그림 2. issue template 선택
그림 3. 템플릿이 적용된 모습

 

New Issue를 통해 이슈를 새로 생성하여보면, 이와 같이 템플릿을 적용할 수 있음을 확인할 수 있다.