DevOps/JIRA

[JIRA] JIRA-Github 칸반보드 워크플로우 자동화

밥빵 2024. 1. 18. 03:39

JIRA-Github 연동을 통해 JIRA 칸반보드 워크플로우 자동화(Automation) 설정 방법


안녕하세요. 개발 프로젝트를 진행할 때

Agile/DevOps 프로젝트를 수행하기 위한 협업도구인 JIRA를 많이 사용합니다.

현재 진행중인 프로젝트에서 요구사항 명세서 산출물 기반로 각각의 태스크마다 JIRA 티켓을 발급해서 사용하고 있습니다.

 

우선 JIRA에서 가장 중요한 두 가지 개념에 대해 알아보겠습니다.


 에픽

"많은 사용자 스토리, 많은 작은 단위 업무로 나눌 수 있는 업무의 큰 틀"

저는 도메인을 기준으로 "상품"을 에픽으로 설정하였습니다.


 이슈

"오류, 버그 및 '새로운 기능', 작업요청, 사소한 질문이나 의견등 제품에 관해 회사에서 대화의 대상이 되는 거의 모든 것"

"이슈 종류에 따라 개발자의 구현이 필요없는 경우도 상당수 있음"

 

상품 "에픽" 하위에 구현해야하는 기능을 기준으로 이슈들을 설정하였습니다.

프론트에서는 "상품 목록 화면" 

백엔드에서는 "상품별 리뷰 조회 기능" 입니다.

 


타임라인

업무에 대한 일정을 간트차트와 같은 형태로 공유할 수 있는 타임라인


보드

칸반 보드는 작업을 시각화하고, 진행 중인 작업을 제한하며 효율성(또는 플로우)를 극대화하는 물리적 또는 디지털 프로젝트 관리 도구

 

6개의 주요 요구사항 명세서 - [할 일 -> 진행 중 -> 코드리뷰 -> 완료 ] - 트러블 슈팅 으로 관리하고 있습니다.

[할 일 -> 진행 중 -> 코드리뷰 -> 완료 ]깃허브와 연동하여 관리하고 있습니다.

 

칸반보드 자동화

현재 JIRA와 깃허브를 연동해서 사용하고 있습니다.

깃허브에 브랜치를 생성하고 커밋을 할 때 JIRA 티켓 번호를 입력하여 깃허브에서의 변경사항을 지라에서 확인할 수 있습니다.

 

하지만 브랜치를 생성하면 [할 일 -> 진행 중] 으로 옮기기

PR을 날리면 [진행 중 -> 코드리뷰] 으로 옮기기

Merge가 되면 [코드 리뷰 -> 완료]로 옮기기를 직접 수동으로 이동해야합니다.

 

너무 번거롭고 중간에 실수로 까먹고 안 옮기는 경우도 자주 발생 합니다.

 


 

오늘 진행할 칸반보드 워크플로우 자동화는 이러한 불편한 점을 해결해줍니다.

 

1. 브랜치를 생성하면 [할 일 -> 진행 중] 자동 변경

2.PR 생성 시 [진행 중 -> 코드 리뷰] 자동 변경

3.PR 취소 시 [코드리뷰 -> 진행 중] 자동롤백

4.PR 병합 시 되면 [코드 리뷰 -> 완료] 자동 변경

 

4가지 자동화를 진행하겠습니다~

깃허브 지라 연동은 미리 해주셔야 합니다~

 


1.  브랜치 생성 시 [할 일 -> 진행 중] 변경 워크플로우 자동화

 

이슈에서 브랜치 생성 시 할 일 -> 진행 중으로 변경되도록 하겠습니다.

 

 

프로젝트 설정 -> 자동화로 들어가면 워크플로우 자동화를 설정할 수 있습니다.

 

 

워크플로우 설정을 할 수 있습니다

 

1. When : 브랜치 만들어짐

브랜치를 생성하면

2. Then : 이슈를 진행 중으로 변환

이슈를 진행 중으로 변경 시킨다.

3. And : 이슈 필드 편집 Actual start, start Date 설정

Actual start, start Date에 변경 된 시간을 작성한다.

 

WBS 명세서와 연동하여 진행하기 때문에 업무 실제 시작 날짜를 업데이트 해줬습니다.


 

2.  PR 생성 시 [진행 중 -> 코드리뷰] 변경 워크플로우 자동화

 


3. PR 거부 시 [코드리뷰 -> 진행 중] 변경 워크플로우 자동화

PR을 취소하거나 거부되는 경우가 있습니다.

이러한 특수한 경우에는 코드리뷰에서 다시 진행 중 상태로 변경을 해야합니다.


4.  PR 병합 완료 시 [코드리뷰 - 완료] 변경 워크플로우 자동화

 

 


 

이렇게 해서 지리 깃허브 연동기반 칸반보드 자동화를 완료했습니다.

저희는 WBS 형식으로 관리하기 위해 브랜치 생성 시 시작날짜 필드, 완료 시 종료날짜 필드 입력을 추가로 진행하였습니다.

 

워크플로우 자동화를 통해 프로젝트를 편하게 관리하세요!