본문 바로가기
🧘🏻‍♂️ 생각, 개발 일반

Jira 2. Jira와 GitHub 연결하기, smart commit 사용하여 시간 추적하기

by kukim 2022. 8. 20.

이전 글에서 사이드 프로젝트에서 GitHub Issues 대신에 Jira를 사용하게 된 이유와 후기 와 Jira 1. 무료 플랜 소개와 프로젝트 생성과 초기 설정 팁 을 알아보았습니다.

 

이번 글에서는 Jira와 GitHub을 연결하고 smart commit을 소개하려 합니다.

Jira - GitHub 연결하기

Jira와 GitHub를 연결하기 위해서는 두 가지를 설정해야 합니다.

1. 연결할 Jira 프로젝트에 GitHub for Jira 앱 설치하기

2. 연결할 GitHub 계정, 조직, 저장소에 Jira 앱 설치하기

 

1,2번 모두 별도로 설치할 수 있지만 Jira 프로젝트에 GitHub for Jira 설치 과정을 따라가면 1,2번 모두 한 번에 설치할 수 있기 때문에 해당 방법을 사용하고자 합니다.

 

먼저 지라 프로젝트에서 GitHub for Jira를 검색하여 설치합니다.

1. 지라 프로젝트 - 앱 - 더 많은 앱 살펴보기
2. github for jira 검색
3. Install & Get Started

Jira 프로젝트에 GitHub for Jira를 설치하였다면, GitHub 연결을 클릭하여 GitHub에 Jira 앱을 설치합니다.

4. Connect GitHub organization
5. Install GitHub for Jira on a new orgainzation

GitHub에 Jira 앱이 적용될 조직이나 계정, 저장소를 지정합니다.

6. GitHub Jira 설치할 계정, 조직 선택
7. 설치할 저장소 지정 (전체 저장소 or 선택)

7번 과정까지 완료하였다면 설치할 저장소에 Jira 앱이 설치된 것을 확인할 수 있습니다.

GitHub 저장소에 설치된 Jira 앱

이제 Jira 프로젝트 GitHub for Jira에 돌아와 해당 저장소를 Connect 하면 됩니다.

connect 되는 동안 1분 정도의 시간이 소요되었습니다.

8. GitHub for Jira에 github Connect
In progress, 연결중
Jira - GitHub 연결 완료!


Jira - GitHub 연결 / smart commit 기능

연결을 완료하였다면 GitHub 저장소에서 발생하는 Events를 Jira에서 자동으로 인식합니다. 

예를 들어 GitHub PR이나 commit에 지라 이슈 번호를 입력하면 자동으로 Jira에서 이를 인식합니다. 

더 자세한 기능은 GitHub for Jira를 참고해주세요

 

Jira에 GitHub PR 자동 연결

Jira 이슈(e.g. SDR-64)가 하나 있습니다.

Jira 프로젝트 이슈

SDR-64번 이슈를 해결한 뒤 PR을 보냈습니다. 해당 PR에 SDR-64번 이슈와 연결하고 싶습니다.

이때 GitHub PR 제목에 해당 이슈 번호를 붙이면 자동으로 Jira 프로젝트 이슈에 GitHub PR이 연결됩니다.

(SDR-64, [SDR-64], (SDR-64) 모두 가능)

PR 제목에 Jira 이슈 번호를 붙임
Jira 프로젝트에 자동으로 연결된 PR

 

GitHub에 Jira 이슈 링크 자동으로 붙이기

이제는 GitHub PR에 Jira 이슈 링크를 연결하고 싶습니다.

비교적 간단한 방법은 GitHub App : Jira Issues In GitHub 기능을 사용하면 됩니다.

PR 본문 내용에 [SDR-64]와 같이 대괄호에 이슈 번호를 넣으면 자동으로 지라 이슈 링크가 생성됩니다.

 

See Jira issues in GitHub

If an issue body contains a valid Jira issue key on your instance, the integration will automatically expand it into a reference link when surrounded in brackets []. For example: [DEV-2095] will be turned into a link to https://<your-instance>.atlassian.net/browse/DEV-2095.

This makes it so Jira issues can be linked inside a comment without it interrupting the flow of the comment as a whole.

 

PR 작성 시 대괄호로 이슈 번호 작성 : [SDR-64]
자동으로 Jira link 생성

+a) 다른 연결 방법은 Github PR에 Jira 이슈 링크를 추가하는 세 가지 방법을 참고해주세요.

 

commit 메시지에 Jira 이슈 번로를 붙여 연결하기

Jira에 GitHub PR을 연결한 것과 마찬가지로 commit에도 Jira 이슈 번호를 붙이면 Jira 이슈에서 해당 commit들을 자동으로 인식합니다. 

Jira 이슈번호가 포함된 commit 메세지들
Jira 이슈에 연결된 commit 들

 

smart commit 기능

Jira는 smart commit 기능이 있습니다.

이 기능은 commit 메시지에 Jira가 인식하는 특별한 태그를 달면 자동으로 Jira 이슈에 댓글을 남기거나 시간 추적을 할 수 있습니다.

 

예를 들어 커밋이 얼마만큼의 시간이 걸리는지 측정하고 싶습니다. 이때 smart commit을 사용하여 커밋 메시지 뒤에 #time 1h 와 같이 smart commit 메시지를 추가하면 Jira 이슈에서 시간이 카운팅 됩니다.  (단, smart commit은 개행은 인식하지 못합니다)

+a) Merge Commit에도 #time 추가해도 인식하지 못합니다.

smart commit을 활용하여 시간 측정

SDR-122 test: 테스트 유저 데이터 추가 (user1, user2) #time 5m

---

개행은 인식하지 못함

SDR-122 test: 테스트 유저 데이터 추가 (user1, user2)
#time 5m

 

commit 메세지에 #time 으로 메세지 문구 추가
Jira 이슈에 추가된 시간 추적


마치며

간단한 설정으로 Jira와 GitHub을 연결할 수 있습니다. 

GitHub에서 Jira 이슈 번호를 입력하여 자동으로 Jira와 GitHub을 연결할 수 있고 Jira 이슈 링크도 GitHub에 남길 수 있습니다.

smart commit을 활용해서 시간 추적을 하거나 댓글을 남길 수도 있습니다.

 

다음 글에서는 Jira Automation 기능을 사용하여 merge 될 때 자동으로 메신저에 알림을 보내거나 이슈들이 닫히는 등 의 자동화 기능을 알아보려 합니다.

 

⛓ Reference

- Jira 1. 무료 플랜 소개와 프로젝트 생성과 초기 설정 팁

- 글에서 사용한 GitHub 저장소

- Jira App : GitHub for Jira

- GitHub App : Jira

- Jira Docs: smart commit

- Github PR에 Jira 이슈 링크를 추가하는 세 가지 방법

댓글