스마트 커밋(Smart commit)으로 커밋 메시지로 JIRA 와 연동하기

JIRA 와 github/gitlab/bitbucket 을 연결했으면 커밋 메시지에 특정 문구를 넣으면 관련된 JIRA 이슈에 댓글을 달거나 작업 시간을 기록하고 상태가 변경되도록 할 수 있으며 이 기능을 스마트 커밋이라고 부릅니다.

 

커밋 메시지의 문법은 아래와 같으며 COMMAND 는 3 가지를 지정할 수 있습니다.

<ignored text> <ISSUE_KEY> <ignored text> #<COMMAND> <optional COMMAND_ARGUMENTS>

ISSUE_KEY 는 TEST-123 처럼 스마트 커밋과 연결할 지라의 이슈 키를 적어주면 됩니다.

 

이슈에 코멘트 남기기

ISSUE_KEY 에 해당하는 JIRA 이슈에 커멘트를 남깁니다. 아래는 지라 이슈에 "새로운 함수 추가" 라는 커멘트를 남기게 됩니다.

BUG-4 #comment 새로운 함수 추가

 

작업 시간 기록

time 키워드로 해당 JIRA 이슈에 작업 시간 기록을 남길수 있습니다. 시간은 w, d, h, m 단위로 기록할 수 있으며 마지막에 커멘트를 적어주면 됩니다.

 

아래는 이슈에 "1주 3일 5시간 30분" 의 작업 기록을 남기고 "총 작업 시간 기록" 라는 커멘트도 같이 남깁니다.

BUG-4 #time 1w 3d 5h 30m #comment 총 작업 시간 기록

 

 

이슈 상태 전이(transition)

이슈의 상태를 전이할 경우 #뒤에 전이할 상태의 이름을 적어주면 됩니다.

transition 이름은 workflow 에서 확인할 수 있습니다.

 

아래의 커밋 메시지는 BUG-9 이슈에 대해 "done" 상태로 전이하고 커멘트를 남깁니다.

 

실습

  • Jira 에 이슈를 등록하고 ISSUE KEY 를 기억해 둡니다.

  • github 에 만든 저장소를 fork 한후에 ISSUE KEY 이름으로 branch 를 생성합니다.

  • 새로운 브랜치를 수정한 후에 Smart 커밋을 실행한 후 Pull Request 를 보내고 Jira issue 를 확인합니다.