Github 나 Github Enterprise 를 사용한다면 JIRA 와 연동해서 브랜치나 커밋 메시지, Pull Request 를 볼 수 있습니다.

이럴 경우 커밋을 JIRA Issue 와 묶어서 처리하거나 볼 수 있으므로 어떤 문제를 해결하기 위해 소스 변경이 있었는지 한 눈에 볼수 있는 장점이 있습니다.

설정

1. 먼저 JIRA 관리자로 로그인한 후에 github app 페이지에 들어가서 "Get it now" 를 클릭합니다.

2. app 을 설치할 사이트를 선택한 후에 "Install app" 을 클릭해서 app 을 설치합니다.

3. 설치가 완료되면 github 와 연결하는 화면이 뜨는데 "Connect GitHub organization" 을 클릭합니다.


4. github 에 로그인해 있다면 계정이 표시되고 연결 화면이 뜹니다. Connect 를 눌러서 Github 와 연결을 진행합니다.


5. 연결이 끝나면 화면이 바뀌는데 Configure  를 눌러서 설정에 들어갑니다.


6. Github 에서 JIRA 의 "Repository access" 권한을 설정해 줍니다. "All" 로 하거나 아니면 접근을 허용할 repository 를 선택한 후에 Save  를 눌러서 저장합니다.


7. 설정이 끝나면 "Sync Status" 가 Pending 에서 "IN PROGRESS" 로 변경됩니다.


JIRA 프로젝트에 연결

JIRA 로 돌아와서 프로젝트 설정으로 들어가서 좌측에서 "바로 가기 추가" 를 클릭합니다.


"리포지토리" 옆의 추가를 클릭합니다.

github 저장소의 URL 을 "리포지토리 링크" 에 입력하고 이름에 저장소 이름을 입력하고 연결을 클릭합니다.

우측 상단에 성공적으로 연결됐다는 메시지가 뜨는데 내용이 좀 쌩뚱맞네요.

사용

이제 github 에서 작업시 JIRA 의 Issue Key 를 기반으로 작업하면 자동으로 연동됩니다. 

먼저 JIRA 에 github 용 이슈를 하나 생성하고 이슈 키를 기억해 둡니다. (EX: BUG-8)

Branch 생성

github 에 연결한 후에 상단의 브랜치 드롭 다운 메뉴를 클릭합니다.

검색창에서 새로 생성할 브랜치 이름인 BUG-8 을 입력하면 존재하지 않는 브랜치이므로 "Create branch: BUG-8 from main" 메시지가 뜨는데 이걸 클릭하면 새로운 브랜치가 생성됩니다.

성공적으로 브랜치가 생성되면 다시 JIRA 로 돌아와서 이슈 상세 화면으로 들어가면 우측의 세부정보에 브랜치가 표시되는 걸 확인할 수 있습니다.


클릭하면 모달 대화창이 뜨고 브랜치와 커밋, PR 등을 확인할 수 있습니다. 아직 커밋 내역이 없으므로 커밋 탭에는 표시되는게 없습니다.


smart commit

커밋과 이슈 연동

이제 새로 만든 브랜치에서 간단하게 소스를 변경하고 커밋해 줍니다.

주의할 점은 커밋 메시지에 JIRA Issue Key 가 꼭 포함되어야 한다는 점입니다. (자세한 내용은 JIRA 에서 스마트 커밋(Smart commit) 사용하기 을 참고하세요)

아래 그림은 간단한 소스 파일을 하나 추가하고 커밋 메시지에 Issue Key 를 넣은 예제입니다.


이제 다시 JIRA 로 돌아와서 브랜치의 세부정보를 클릭하고 커밋 탭에 들어가 보면 조금전에 커밋한 내용을 확인할 수 있습니다.

이제 다시 github 로 돌아와서 소스를 간단하게 수정하고 다시 커밋해 줍니다.

마찬가지로 커밋 메시지에 꼭 이슈 키를 넣어야 합니다.

다시 JRIA 의 이슈 상세 보기를 클릭한 후에 커밋 탭을 보면 새로운 커밋도 추가되서 표시되는 것을 볼 수 있습니다.

Pull Request 연동

BUG-8 브랜치에서 코드 테스트가 끝났으면 main branch 로 PR 을 보내서 merge 할 단계입니다.

github 에서 상단의 "Compare & pull request" 를 클릭해서 PR 을 생성합니다.

제목과 내용에 처리한 내용을 적어주고 하단의 "Create pull request" 를 눌러서 PR 을 생성합니다.

참고로 저는 이런 경우 커밋 메시지의 상세 내용에 JIRA Issue 에 있는 내용을 중복해서 넣지 않고 기술적인 내용 위주로 커밋 메시지를 작성하도록 노력하고 있습니다.

다시 JIRA 에 들어와서 "풀 리퀘스트" 탭을 보면 새로운 PR 이 보이는데 아직 관리자가 Merge 하지 않아서 상태는 미결로 표시됩니다.

다시 Github 로 돌아가서 PR 탭으로 간 후에 "Merge pull request" 를 클릭해서 머지해 줍니다.


그러면 github 의 PR 상태가 Merged 로 변경됩니다.


다시 JIRA 로 돌아와서 확인하면 상태가 통합됨으로 표시되는 것을 확인할 수 있습니다.



같이 보기


Ref