본문 바로가기
Tools/Git

[Git] GitHub PR 템플릿, 이슈 템플릿 사용하기

by A6K 2021. 2. 14.

깃헙을 커뮤니케이션 도구로 사용할 경우 이슈(Issue)와 PR(Pull Request)라는 행위를 통해 공통의 코드를 유지보수하게 된다.

이슈를 열고 PR을 등록할 때 템플릿(Template)을 등록해 놓으면 커뮤니케이션이 한결 수월해진다. PR을 등록할 때, 어떤 이슈를 해결하기 위한 코드수정이었는지, 문제가 있는 동작을 재현하려면 어떻게 해야하는지, 추가적으로 생각해봐야 할 점이 있다면 무엇인지를 적어주면 좋다. 하지만 팀을 구성하는 개발자들의 스타일이 다 다르기 때문에 어떤 팀원은 이슈를 대충적기도하고, 어떤 팀원은 너무 자세하게 불필요한 내용까지 적기도한다.

이 경우 팀에서 사용하는 공통의 양식이 있으면 그 양식에 맞게 정보를 적어주면 된다. 깃헙은 이슈와 PR에 템플릿을 도입할 수 있도록 했다.

PR 템플릿 등록

$ mkdir .github

깃헙 저장소의 루트 디렉토리에 .github라는 이름의 디렉토리를 만든다. 이 디렉토리 아래에 PULL_REQUEST_TEMPLATE.md라는 파일을 만든다. 이 파일이 깃헙페이지에서 템플릿으로 사용될 파일이다.

템플릿 내용을 다음과 같이 만들어주자.

## 제목

## 작업 내용

## 주의 사항

파일을 저장소에 추가하고 커밋, push 해준다.

PR 템플릿 적용 모습

이수 PR 등록을 하면 깃헙 웹페이지에서 텍스트 영역에 PULL_REQUEST_TEMPLATE.md 파일 내용이 기본적으로 등록된다. 주의해야할 점은 PULL_REQUEST_TEMPLATE.md파일은 저장소의 기본 브랜치에 있어야 한다는 점이다.

이슈 템플릿 등록

소스코드와 관련된 작업이나 프로젝트와 관련된 내용을 등록할 때 사용하는 이슈 기능에도 템플릿을 사용할 수 있다. 깃허브에서는 이슈를 위한 템플릿 등록을 지원하고 있다.

저장소의 'Settings' 탭으로 들어가보자.

깃허브 이슈 템플릿 추가 버튼

'Settings' 탭의 'Features' 항목을 보면, 'Issues'라는 부분이 있고, 'Set up templates'라는 버튼이 있다. 이 버튼을 누르면 이슈 템플릿을 등록할 수 있는 화면이 나온다.

깃허브 이슈 템플릿 추가 화면

최초에는 등록된 이슈 템플릿이 존재하지 않아서 빈 공간으로 나온다. 'Add template: select' 드랍다운 버튼을 누른다. 

깃허브 이슈 템플릿 추가 버튼

버그 제보를 위한 표준 템플릿과 기능 추가 요청에 대한 템플릿이 존재한다. 그리고 저장소 관리자가 직접 만들 수 있는 기능도 있다.

추가된 깃허브 이슈 템플릿들

하나씩 클릭해서 사용할 템플릿들을 추가한다. 'Preview and edit' 버튼을 누르면 추가한 템플릿의 내용을 수정할 수 있다.

깃허브 이슈 템플릿 내용 수정

'Bug report'에 해당하는 내용이다. Template name과 About은 이슈를 생성할 때 어떤 템플릿을 사용할지 사용자에게 힌트를 주는 정보다. Template content는 이슈를 생성했을 때 본문에 자동으로 채워지는 내용이다.

깃허브 이슈 템플릿 수정사항 커밋

템플릿을 모두 수정한 다음 우측 상단에 있는 'Propose changes' 버튼을 눌러 변경사항을 반영해준다.

이제 새로운 이슈를 만들어 보면,

깃허브 이슈 등록 페이지 화면

어떤 타입의 이슈를 만들 것인지 선택할 수 있는 메뉴가 나온다. 상황에 맞는 템플릿을 'Get started' 버튼을 이용해 생성해준다.

깃허브 이슈 템플릿  적용된 모습

새롭게 만들어질 이슈의 본문에 템플릿으로 지정했던 내용이 채워진다.

PR 템플릿과 이슈 템플릿 기능을 이용해서 좀 더 명확한 커뮤니케이션을 진행 할 수 있다.

댓글