Atlassian에서 개발한 프로젝트 관리 및 이슈 추적 도구로, 주로 소프트웨어 개발팀에서 사용됩니다. 애자일 방식에 유용하며, 칸반, 스크럼 등 다양한 방법론을 지원합니다.
프로젝트를 도중에 '깃허브 프로젝트 기능보다 더 나은 도구가 없을까?'하는 생각이 들었습니다. 깃허브 프로젝트는 TODO, INPROGRESS, DONE 세 가지로 프로젝트 진행 상황을 관리하며, 추가로 Milestone으로 스프린트 또한 관리할 수 있습니다.
깃허브 프로젝트를 도입하려던 찰나에 Jira라는 협업 도구가 제 눈에 띄었습니다. 애자일 프로세스에 유용하다는 것을 알게 되었고, 먼저 프론트엔드 이슈에 도입하였습니다.
사실 큰 이유는 없었어요. 저희 팀이 프론트엔드, 백엔드, 디자이너로 구성된 팀이었고 회의 때마다 각자의 진행상황을 공유했습니다. 하지만 실시간으로 각자의 진행상황을 파악하기 힘들었어요. 카카오톡으로 일일이 묻기 번거롭고, 계속 묻는 것도 서로에게 부담일 거니까요.
개발자들은 디스코드 웹훅으로 어떤 이슈가 올라갔는지 실시간으로 알 수 있었지만, 작업들을 모아보기도 힘들었어요.
저는 여러 자료를 찾아보면서 깃허브 이슈와 지라 이슈를 연동하는 방법을 알게 되었습니다. 해당 워크플로우는 다음과 같습니다.
이렇게 하면 자동으로 브랜치명에 이슈 넘버와 티켓넘버가 붙도록 만들었어요. 예를 들면, FE-11 티켓넘버에 브랜치명은 feature/add-login-ui라고 가정했을 때 최종 브랜치명은 feature/#깃허브이슈번호-add-login-ui가 됩니다. 깃허브 이슈번호는 생성한 이슈에서 바로 가져오는 방식이에요.
해당 코드는 여기서 보실 수 있어요. create-jira-issue.yml
초반에는 백로그 없이 보드로만 작업을 했어요. 
브랜치를 생성할 때 이슈넘버를 확인하지 않아도 되어 정말 편해졌습니다. 보드로 작업 진행도를 파악하기도 쉬워졌어요.
하지만 깃허브 프로젝트와 다를 게 없다는 생각이 들었습니다. 보드 그 이상의 기능을 활용할 수 없었어요. 모든 팀원이 사용해야 스프린트, 백로그의 의미가 생기고 모든 작업의 진행도를 파악할 수 있으니까요.
저번주에 갑자기 팀장님이 Jira를 사용하는 게 어떠냐고 모든 팀원들에게 물어보셨습니다. 부트캠프에서 여러 현직자분들을 만나셨는데, 거의 다 Jira를 사용한다는 얘기를 들었다고 하셨어요. 그래서 팀원 모두의 찬성으로 저희 팀 모두가 Jira를 사용하기로 했어요.
저희가 쓰던 FE프로젝트는 놔두고, 새로운 프로젝트를 만들었습니다. 새로운 프로젝트에도 이슈가 생성되도록 워크플로우를 추가했습니다.
기존의 워크플로우는 무조건 develop-fe 브랜치에서 분기되었었는데, 이제는 모든 브랜치에서 분기가 가능하도록 해야 합니다. 프론트엔드, 백엔드 모두가 써야하기 때문입니다.
분기할 브랜치 선택 항목을 추가하여, 어떤 브랜치든 분기할 수 있도록 만들었어요.
common-jira-create.yml
입력한 브랜치에 대해 브랜치를 분기하도록 변경하였습니다. 추가로 기존에 없는 브랜치라면 워크플로우를 미리 중단하도록 했어요.
깃허브 이슈를 생성하니 지라에도 이슈가 잘 생성되네요!

close-jira-issue.yml 이것은 깃허브 이슈 닫기 시 지라 이슈를 완료상태로 변경해주는 코드입니다.
팀원 모두가 Jira를 사용하게 되어 기쁩니다. 스프린트, 백로그, 회고까지 애자일 프로세스를 적극 경험해보고 싶네요. 사용자를 만나면서 백로그를 작업하는 경험이 제일 기다려지네요. 피드백 환영합니다~!