Jira, Confluence 가 각광받는 협업툴이지만 언제, 어떤 상황에 어떻게 사용해야할지 규칙이 있어야 효과적으로 사용할 수 있다. 왜 사용하는지, 협업툴을 사용하면 뭐가 좋은지 팀 내에 공동의 이해가 있어야 한다.
1. 규칙
1) 브랜치명, 커밋메시지 앞에는 이슈번호를 붙인다.
Githook으로 이슈번호 입력을 자동화 할 수 있다.
2) 브랜치 규칙
![](https://blog.kakaocdn.net/dn/b08kIV/btsKCyd4Ygd/TpwxuDzdqist6QT3bRMlN0/img.jpg)
3) 커밋 메시지 규칙
Add, Fix, Change, Improve 태그를 붙인다.
- Add : 추가
- Fix : 수정
- Change : 변경
- Improve : 개선
4) 이슈관리
- 에픽을 달성하기 위한 이슈를 등록한다.
- 이슈유형, 요약, 담당자, 우선순위, 레이블(Front, Back, DB, Infra) , 이슈연결 필드에 내용을 채운다.
- 작업자는 현재 작업상태에 따라 '할 일, 진행중, 완료' 상태를 변경한다.
- 작업에 대한 소통을 할 때, 이슈번호로 얘기하면 어떤 작업인지 명확하게 알 수 있다.
2. Jira 톺아보기
1) 이슈 유형
![](https://blog.kakaocdn.net/dn/bOkJRX/btsJCXsGrGw/8V5KXG0K1w6vZge0vCpWrK/img.png)
- 큰 작업(에픽) - 고객에게 제공할 핵심 기능
- 스토리 - 유저의 요구사항을 의미한다. 스토리가 모여 에픽이 된다.
- 작업 - 에픽을 달성하기 위한 소규모 개별 업무
- 개선 - 기존 작업 개선
- 버그 - 에픽을 달성하기 위해 작업 중 발생한 오류 추적
- 문서 - 개발 구현과 관련 없는 문서작업
✔️Depth
에픽 -> 스토리, 문서, 버그, 작업, 스토리 -> 하위 작업
✔️이슈연결법
![](https://blog.kakaocdn.net/dn/bHlnrS/btsJD5JKXtq/yYf4qTxkX6GhJbdHnc8JVK/img.png)
새로운 이슈를 만들 때는 연결된 이슈에서 설정하면 된다.
![](https://blog.kakaocdn.net/dn/EByaS/btsJEQL7elA/QTn8lznpwIJYlaxk09bC11/img.png)
기존에 생성된 이슈를 편집할 때는 +추가를 눌러서 이슈를 연결할 수 있다.
2) 레이블
이슈를 생성할 때, 레이블을 달아두면, 레이블별로 필터를 걸어서 이슈를 확인하기 편리하다.
레이블을 역할로 나누어서 생성해두었다. (ex. Frontend, Backend, DB, Infra)
✔️ 레이블 추가하는 법
단축키 'Ctrl + K' 를 누르면 검색창이 뜬다. 레이블을 검색하면 '레이블 추가' 또는 '레이블 편집'이라고 뜬다.
![](https://blog.kakaocdn.net/dn/ZPEHy/btsJCZKTjnh/KolvESmIrk1n17ZXlFr8n0/img.png)
레이블 추가를 클릭한 뒤, 생성할 레이블명을 입력하고 '+새로운 레이블 "레이블명" 만들기' 를 클릭하면 된다.
![](https://blog.kakaocdn.net/dn/bIGB8s/btsJDqONYXG/V8CQVMfMa3OmpcaLvGnZzK/img.png)
3) 워크플로
워크플로는 크게 할일, 진행중, 완료로 나뉜다.
작업상태를 전환하는 조건을 걸어둘 수 있다.
이슈에 작업상태를 반영하면 작업 진척률, 해야할 작업 들을 확인할 수 있다.
할 일은 회색, 진행중은 하늘색, 완료는 연두색으로 표시된다.
✔️ 워크플로 예시
![](https://blog.kakaocdn.net/dn/cX8v8e/btsJERc3EEQ/KA3hsktr6cGEvMYZyHHnGk/img.png)
4) 내 작업 보기(목록)
![](https://blog.kakaocdn.net/dn/cdvc2U/btsJEE57atQ/iC2tnjK5a9i8FV6O12bYS0/img.png)
이슈들의 목록을 볼 수 있다.
필터로 이슈의 세부 내용을 필터링 할 수 있다.
나에게 할당된 작업을 보기 유용하다.
예정된 기한을 초과하면 빨간색으로 표시된다.
![](https://blog.kakaocdn.net/dn/Iuv4E/btsJDXZnY78/KxZeXiKkpqw6sEhIOfiik0/img.png)
나에게 할당을 클릭하면 내 담당 이슈들을 모아서 볼 수 있다.
3. Jira와 연동가능한 도구들
1) Confluence 연동
Confluence는 문서 기반 협업 툴이다.
Jira와 Confluence 페이지를 연동하려면, Confluence 스페이스와 Jira 프로젝트를 생성해야한다.
Jira에 프로젝트 페이지를 클릭하고 연동할 Confluence 스페이스를 선택해주면 된다.
![](https://blog.kakaocdn.net/dn/b20nII/btsJEHWqD4g/gMVUpLdb223KX18d0aSIc0/img.png)
![](https://blog.kakaocdn.net/dn/dUdSeG/btsJD6Cj99I/nweAF2MhbTE1VM0O0NMsW1/img.png)
이렇게 연결을 하고나면, Jira 이슈에서 Confluece 페이지를 바로 연동할 수 있다.
![](https://blog.kakaocdn.net/dn/bHh4Dq/btsJFqT7DAE/vAnwXa1UjFz8Q8EWoCtDKk/img.png)
Confluence에서 데이터베이스를 만들어서 Jira이슈를 관리할 수 있다.
![](https://blog.kakaocdn.net/dn/b0qJZA/btsJDccwJDL/1LMbbwWWig8fKyYDL6Q57K/img.png)
데이터베이스에서 더보기(...)를 누르고 Import를 누르면 Jira 이슈를 필터링해서 가져올 수 있다.
Confluence에서 이슈를 다시 편집하고 Export로 CSV, HTML, PDF 파일로 다운받을 수 있다.
또한, Confluence 페이지에서 Jira 이슈를 만들 수 있다.
![](https://blog.kakaocdn.net/dn/xcdP6/btsJE3rlqVY/DAGMYkP1o2Gxp5XiqOUlaK/img.png)
Jira에서는 업무를 관리한다. 업무에 관련된 문서를 바로 Jira 이슈에 연동시키니 팀과 효과적으로 협업을 할 수 있다.
2) IntelliJ 연동
Jira와 IntelliJ를 연동하면, IDE에서 나에게 할당된 Jira 이슈를 확인 및 새 브랜치 생성을 할 수 있다.
IDE에서 바로 Jira 이슈 상태를 변경할 수 있다.
브랜치명, 커밋메시지를 자동 생성해주고 Jira에서 따로 작업상태 변경을 안해줘도 되니 편리한 부분이 있다.
IntelliJ에 연동하려면 Jira API키를 발급받아야 한다.
Jira 우측 상단에 프로필 사진을 눌러서 계정관리로 이동하고 보안탭에서 API키를 발급 받을 수 있다.
API키를 발급받은 뒤 텍스트 파일로 저장해두자.
![](https://blog.kakaocdn.net/dn/rhW7r/btsJDnx4NCi/lr5hNX84xLSrPTAKS3CXlk/img.png)
![](https://blog.kakaocdn.net/dn/sz7cF/btsJESKbqoi/0SuU88zkNSc0jkXD6BwfF0/img.png)
IntelliJ 프로젝트를 열고 Setting > Tools > Tasks > Servers 로 이동한다.
+ 버튼을 눌러서 JIRA를 클릭.
![](https://blog.kakaocdn.net/dn/BbTQ1/btsJDxm1pwT/lUmHCY5RbT4YxOUSq3s7O0/img.png)
Jira 프로젝트 URL을 입력하고 이메일, API token을 입력하고 OK 클릭!
![](https://blog.kakaocdn.net/dn/8FiKw/btsJDFrIbSs/929VzSZ176MtDboJBjRVh0/img.png)
Shift + Alt + N 을 누르면 나에게 할당된 이슈를 볼 수 있다. (Mac은 Shift + option + N)
![](https://blog.kakaocdn.net/dn/PNsNu/btsJDtE2ukQ/LtGmIju6aIytuK7d8fkDK1/img.png)
작업할 이슈를 클릭하면 이슈 상태 변경 및 새 브랜치를 생성할 수 있다.
![](https://blog.kakaocdn.net/dn/Uveli/btsJFKSnmTK/Rvmyq2KskmuWUx5jjGzGh0/img.png)
브랜치명과 커밋메시지는 Tasks에서 수정할 수 있다.
![](https://blog.kakaocdn.net/dn/dehI67/btsJEGQI3yV/gmSFlvSfqu6xLL77kZD7x1/img.png)
작업이 끝나고나면, 커밋하고 Shift + Alt + W를 눌러서 이슈 상태를 변경해준다. (Mac은 Shift + option + W)
3) Slack 연동
Jira에서 특정상황에 Slack에 메시지가 전송되도록 설정할 수 있다.
이것을 활용하면 Slack에 #noti 와 같은 채널을 따로 만들어서 이슈변경에 대한 알림을 받을 수 있다.
Jira 프로젝트 > 왼쪽 사이드바에 있는 프로젝트 설정 > Automation 클릭 > 새규칙 만들기
![](https://blog.kakaocdn.net/dn/c8D5U2/btsJD4YKgUA/uDvCEmPUEDI7LMARWLnSUk/img.png)
이슈 트리거는 이슈 전환됨으로 선택했다.
진행중, 코드검토중 -> 완료로 이슈상태가 전환되면 Slack에 메시지가 자동 전송되도록 설정한다.
![](https://blog.kakaocdn.net/dn/IgElL/btsJDcDCtBx/txEwk25G36aMZZHWmV7ch0/img.png)
Then: 작업 추가 컴포넌트를 추가한다.
slack 메시지 전송을 선택한다.
![](https://blog.kakaocdn.net/dn/bx827A/btsJFESah9G/WvWvkicApCMB1X7FMwj0n0/img.png)
수신 웹후크를 만들어야한다. -> '수신 웹후크를 구성'을 클릭. -> 웹후크 구성 후 복붙
메시지는 우측 하단에 { }을 클릭해서 메시지에 넣을 스마트값을 확인하면 된다.
![](https://blog.kakaocdn.net/dn/cWZuDF/btsJDgMH3pI/arWZkCqWemGvQjbKRJJLv0/img.png)
수신 웹후크 생성하기전에 메시지 전송을 받을 Slack 스페이스를 선택한다.
알림을 받을 채널을 선택하고 수신 웹후크 통합 앱 추가를 누르면 웹후크URL이 생성된다.
복사해서 웹후크 URL에 입력한다.
![](https://blog.kakaocdn.net/dn/sCMNv/btsJEQS9oGh/WnhKqF41onIiULbVnIpa40/img.png)
규칙 이름과 규칙 편집 권한을 지정하고 규칙 활성화를 한다.
![](https://blog.kakaocdn.net/dn/cdQVsj/btsJFpVeMbE/3WfEiU00PmZyos1FmW8fP1/img.png)
이슈상태를 자동화 규칙대로 변경하니 Slack에 자동으로 이렇게 메시지가 전송되었다.
이슈 링크를 클릭하면 Jira 이슈페이지로 이동한다.
![](https://blog.kakaocdn.net/dn/HdlaE/btsJDoDKE49/Y27HEyVOJdHN2K61V1A6t0/img.png)
4) GitLab 연동
Jira에 GitLab을 연동하면 배포 정보를 추적 및 시각화를 할 수 있다.
회사에서 GitLab을 사용하기 때문에 예시로 GitLab을 선택했지만 BitBucket, Github, jenkins 등 다른 배포도구와도 연결할 수 있다.
![](https://blog.kakaocdn.net/dn/9blYf/btsJDqn26OG/dbLqW2x2zsfU5gFczZsTw0/img.png)
상세 사용법은 아틀라시안에 잘 설명되어있어 있어서 링크만 첨부..!
Jira에서 Gitlab 배포 사용 | Atlassian
Gitlab과 Jira를 연결할 때 통합 이슈 및 배포를 활용하는 방법을 알아보세요.
www.atlassian.com
Guide prerequisites | Jira Software Cloud | Atlassian Support
Use Atlassian Open DevOps tools to deploy and monitor a simple demo application that uses machine learning to apply labels to images using AWS components.
support.atlassian.com
🤔협업 시스템 만들기를 정리하며 느낀점
협업 시스템이 왜 필요할까? 함께 효율적으로 일하기 위함이다.
함께 프로젝트를 하다보면 정보가 점점 쌓이고 분산된다.
분산되는 정보를 체계화하면 소통하기가 더 편리해지고 업무를 중복해서 한다거나 관련 문서를 찾는데에 한 세월 걸린다거나 하는 그런 쓸데없는 시간 소비를 줄일 수 있다.
하지만, 협업 시스템은 복잡하면 안된다.
모두가 습관처럼 사용할 수 있도록 직관적이고 금방 익숙해질 수 있어야한다.
또한 모두 일관적으로 사용해야한다.
협업 시스템을 도입하기 전에 협업할 팀원들과 충분한 논의를 거치자.
협업 툴의 종류, 협업 규칙등을 정해서 모두 공동의 이해를 갖도록 결정 사안을 공유해야한다.
혹시나, 새로운 협업 시스템을 익히는 시간이 오래 걸릴 것 같다면 기존 협업 방식을 이어가는 것이 더 효율적일 수도 있다.
협업 시스템이 정해졌다면 이제 열심히 일하자! 화이팅❤️