지라 클라우드를 사용할 경우 JIRA 용 gitlab plugin 인 GitLab.com for Jira Cloud app 를 사용해서 JIRA cloud 와 gitlab 을 쉽게 연동할 수 있습니다.
gitlab app 설치
관리자 권한으로 Jira cloud에 연결한 후에 상단의 설정을 클릭하고 앱 을 선택합니다.
![](/software-architect/files/113346413/113346415/1/1625389837000/image2021-7-4_18-10-36.png)
검색 창에 gitlab 을 입력한 다음에 목록에서 "gitlab.com for Jira Cloud" 를 선택합니다. 다른 제품은 gitlab 이 아닌 회사가 만든 것이라 비용이 발생합니다.
![](/software-architect/files/113346413/113346416/1/1625390036000/image2021-7-4_18-13-56.png)
상단의 Get app 를 클릭합니다.
![](/software-architect/files/113346413/113346417/1/1625390083000/image2021-7-4_18-14-42.png)
모달 대화창에서 Get it now 를 클릭합니다.
![](/software-architect/files/113346413/113346418/1/1625390118000/image2021-7-4_18-15-18.png)
상단에 앱을 추가중이라는 팝업이 뜹니다.
![](/software-architect/files/113346413/113346419/1/1625390151000/image2021-7-4_18-15-51.png)
시간이 약간 지나면 설치가 완료되었다는 안내 메시지가 표시됩니다.
![](/software-architect/files/113346413/113346420/1/1625390204000/image2021-7-4_18-16-44.png)
설정
설치가 완료되면 되면 설정 → 앱 → 앱 관리 메뉴를 선택한후에 목록에서 Gitlab for Jira 를 클릭하고 Getting started 버튼을 클릭합니다.
![](/software-architect/files/113346413/113346422/1/1625390373000/image2021-7-4_18-19-33.png)
설정을 위해 Sign in to Gitlab 을 클릭합니다.
![](/software-architect/files/113346413/113346423/1/1625390433000/image2021-7-4_18-20-32.png)
gitlab 에 정상적으로 로그인하면 Return to Gitlab for Jira 메뉴가 표시되는데 클릭해 줍니다.
![](/software-architect/files/113346413/113346424/1/1625390528000/image2021-7-4_18-22-8.png)
아직 연결한 group이 없기때문에 "no linked namespace " 메시지가 표시됩니다. 상단의 Add namespace 를 클릭합니다.
namespace 는 gitlab 의 group 을 의미합니다. project 가 아닙니다.!
![](/software-architect/files/113346413/113346425/1/1625390593000/image2021-7-4_18-23-13.png)
화면에 저장소 목록이 표시되는데 연결할 저장소 우측의 Link 버튼을 클릭하면 JIRA 와 gitlab 이 연결됩니다.
![](/software-architect/files/113346413/113346428/1/1625390683000/image2021-7-4_18-24-42.png)
성공적으로 연결됐다는 메시지가 표시되며 연결한 저장소 목록이 출력됩니다.
![](/software-architect/files/113346413/113346429/1/1625390724000/image2021-7-4_18-25-23.png)
Smart commit 사용
연결되면 JIRA 프로젝트 메뉴에 코드가 생기며 클릭하면 현재 프로젝트에 연결된 저장소 목록을 표시합니다.
![](/software-architect/files/113346413/113346434/1/1625393590000/image2021-7-4_19-13-10.png)
브랜치 생성
BitBucket 은 JIRA 메뉴에서 바로 브랜치를 생성할 수 있지만 gitlab 은 JIRA 메뉴에서 생성할 수 없습니다.
![](/software-architect/files/113346413/113346435/1/1625393665000/image2021-7-4_19-14-25.png)
대신 브랜치를 만들 때 이름에 Issue key 가 포함되게 만들어주면 됩니다.
예로 위 지라 이슈 키는 AA-25 인데 아래 그림처럼 이슈 키를 포함해서 브랜치를 생성해 주면 됩니다.
![](/software-architect/files/113346413/113346436/1/1625393831000/image2021-7-4_19-17-11.png)
이슈 키를 포함하는 새 브랜치를 만들었으면 JIRA 와 연동되도록 커밋이 없어도 push 를 한 번 해보고 지라 이슈 상세 화면에 들어가 보겠습니다.
그러면 아래 그림처럼 브랜치가 추가된 것을 볼 수 있습니다.
![](/software-architect/files/113346413/113346437/1/1625393957000/image2021-7-4_19-19-17.png)
브랜치를 클릭하면 현재 이슈와 관련된 gitlab 커밋 내역과 Pull Request 등을 볼 수 있습니다.
![](/software-architect/files/113346413/113346438/1/1625394024000/image2021-7-4_19-20-23.png)
Commit 연결
커밋시에 이슈 키를 추가하면 이슈 별 커밋 내역을 확인할 수 있습니다.
예로 아래와 같은 수정을 하고 커밋시에 이슈 키와 수정 사항을 커밋 메시지로 입력하고 push 까지 해보겠습니다.
![](/software-architect/files/113346413/113346441/1/1625394311000/image2021-7-4_19-25-10.png)
그런후에 이슈 상세 화면에서 브랜치를 클릭한 후에 커밋 탭을 열면 아래와 같이 커밋 내역이 연결된 것을 볼 수 있습니다.
![](/software-architect/files/113346413/113346442/1/1625394388000/image2021-7-4_19-26-28.png)
커밋의 해시 id 를 클릭하면 gitlab 으로 넘어가서 소스의 상세 변경 내역을 확인할 수 있습니다.
![](/software-architect/files/113346413/113346443/1/1625394478000/image2021-7-4_19-27-57.png)
Issue status transition
커밋 메시지에 전환할 Issue 상태를 기술하면 이슈 상태도 변경할 수 있습니다.
예로 다음과 같이 전환할 상태인 close 를 넣고 #comment 태그 뒤에 댓글로 남길 메시지를 넣으면 이슈가 종료 상태로 전환되고 댓글로 "응답 메시지에 현재 시간 추가 " 가 남게 됩니다.
AA-25 #close #comment 응답 메시지에 현재 시간 추가
CODE
이슈 상세 화면에서 확인하면 현재 이슈에 1개 브랜치와 2개 커밋이 있는 걸 확인할 수 있는데 이슈의 상태는 바뀌지 않은 것을 알수 있습니다.
![](/software-architect/files/113346413/113346447/1/1625395055000/image2021-7-4_19-37-35.png)
이건 스마트 커밋시 자주 하는 실수인데 프로젝트의 work flow 에 close 가 없기 때문입니다.
칸반 프로젝트이므로 Close 가 아닌 Done 상태이며 이런 실수를 방지하려면 현재 프로젝트의 워크 플로우를 기억하고 있어야 합니다.
상단의 이슈 상태 리스트를 클릭한 후에 메뉴에서 워크플로 보기 를 선택합니다.
![](/software-architect/files/113346413/113346448/1/1625395152000/image2021-7-4_19-39-11.png)
그럼 현재 프로젝트는 Done 이 종료 상태인 것을 알수 있습니다.
![](/software-architect/files/113346413/113346449/1/1625395230000/image2021-7-4_19-40-29.png)
다시 소스를 수정하고 커밋 메시지에 전환할 work flow 상태를 추가하고 push 를 해 줍니다.
AA-26 #done #comment 현재 시간의 time stamp zone 표시
CODE
그리고 이슈 상세 화면을 보면 이슈 상태가 완료로 변경된 것을 확인할 수 있습니다.
![](/software-architect/files/113346413/113346451/1/1625395461000/image2021-7-4_19-44-21.png)
전환할 이슈가 "IN Progress" 나 "Selected for Development" 같이 공백이 있을 경우 공백을 대쉬(-) 로 치환해서 커밋 메시지에 적어주면 됩니다.
AA-26 #in-progress #comment 날자 출력시 안내 메시지를 한글로 변경
CODE
![](/software-architect/files/113346413/113346456/1/1625396144000/image2021-7-4_19-55-44.png)
같이 보기
Ref