지라 클라우드를 사용할 경우 JIRA 용 gitlab plugin 인 GitLab.com for Jira Cloud app 를 사용해서 JIRA cloud 와 gitlab 을 쉽게 연동할 수 있습니다.


gitlab app 설치

관리자 권한으로 Jira cloud에 연결한 후에 상단의 설정을 클릭하고   을 선택합니다.


검색 창에 gitlab 을 입력한 다음에 목록에서 "gitlab.com for Jira Cloud" 를 선택합니다. 다른 제품은 gitlab 이 아닌 회사가 만든 것이라 비용이 발생합니다.

상단의 Get app 를 클릭합니다.

모달 대화창에서 Get it now  를 클릭합니다.

상단에 앱을 추가중이라는 팝업이 뜹니다.

시간이 약간 지나면 설치가 완료되었다는 안내 메시지가 표시됩니다.


설정

설치가 완료되면 되면 설정 →  → 앱 관리  메뉴를 선택한후에 목록에서 Gitlab for Jira  를 클릭하고 Getting started  버튼을 클릭합니다.

설정을 위해 Sign in to Gitlab  을 클릭합니다.

gitlab 에 정상적으로 로그인하면 Return to  Gitlab for Jira  메뉴가 표시되는데 클릭해 줍니다.

아직 연결한 group이 없기때문에 "no linked namespace " 메시지가 표시됩니다. 상단의 Add namespace  를 클릭합니다.

namespace 는 gitlab 의 group 을 의미합니다. project 가 아닙니다.!


화면에 저장소 목록이 표시되는데 연결할 저장소 우측의 Link  버튼을 클릭하면 JIRA 와 gitlab 이 연결됩니다.

성공적으로 연결됐다는 메시지가 표시되며 연결한 저장소 목록이 출력됩니다.


Smart commit 사용

연결되면 JIRA 프로젝트 메뉴에 코드가 생기며  클릭하면 현재 프로젝트에 연결된 저장소 목록을 표시합니다.

브랜치 생성

BitBucket 은 JIRA 메뉴에서 바로 브랜치를 생성할 수 있지만 gitlab 은 JIRA 메뉴에서 생성할 수 없습니다.

대신 브랜치를 만들 때 이름에 Issue key 가 포함되게 만들어주면 됩니다.

예로 위 지라 이슈 키는 AA-25 인데 아래 그림처럼 이슈 키를 포함해서 브랜치를 생성해 주면 됩니다.

이슈 키를 포함하는 새 브랜치를 만들었으면 JIRA 와 연동되도록 커밋이 없어도 push 를 한 번 해보고 지라 이슈 상세 화면에 들어가 보겠습니다.

그러면 아래 그림처럼 브랜치가 추가된 것을 볼 수 있습니다.

브랜치를 클릭하면 현재 이슈와 관련된 gitlab 커밋 내역과 Pull Request 등을 볼 수 있습니다.

Commit 연결

커밋시에 이슈 키를 추가하면 이슈 별 커밋 내역을 확인할 수 있습니다.

예로 아래와 같은 수정을 하고 커밋시에 이슈 키와 수정 사항을 커밋 메시지로 입력하고 push 까지 해보겠습니다.

그런후에 이슈 상세 화면에서 브랜치를 클릭한 후에 커밋 탭을 열면 아래와 같이 커밋 내역이 연결된 것을 볼 수 있습니다.

커밋의 해시 id 를 클릭하면 gitlab 으로 넘어가서 소스의 상세 변경 내역을 확인할 수 있습니다.

Issue status transition

커밋 메시지에 전환할 Issue 상태를 기술하면 이슈 상태도 변경할 수 있습니다.

예로 다음과 같이 전환할 상태인 close 를 넣고 #comment 태그 뒤에 댓글로 남길 메시지를 넣으면 이슈가 종료 상태로 전환되고 댓글로 "응답 메시지에 현재 시간 추가 " 가 남게 됩니다.

AA-25 #close #comment 응답 메시지에 현재 시간 추가
CODE


이슈 상세 화면에서 확인하면 현재 이슈에 1개 브랜치와 2개 커밋이 있는 걸 확인할 수 있는데 이슈의 상태는 바뀌지 않은 것을 알수 있습니다.

이건 스마트 커밋시 자주 하는 실수인데  프로젝트의 work flow 에 close 가 없기 때문입니다.

칸반 프로젝트이므로 Close 가 아닌 Done 상태이며 이런 실수를 방지하려면 현재 프로젝트의 워크 플로우를 기억하고 있어야 합니다.

상단의 이슈 상태 리스트를 클릭한 후에 메뉴에서 워크플로 보기  를 선택합니다.

그럼 현재 프로젝트는 Done 이 종료 상태인 것을 알수 있습니다.


다시 소스를 수정하고 커밋 메시지에 전환할 work flow 상태를 추가하고 push 를 해 줍니다.

AA-26 #done #comment 현재 시간의 time stamp zone 표시 
CODE


그리고 이슈 상세 화면을 보면 이슈 상태가 완료로 변경된 것을 확인할 수 있습니다.


전환할 이슈가 "IN Progress" 나 "Selected for Development" 같이 공백이 있을 경우 공백을 대쉬(-) 로 치환해서 커밋 메시지에 적어주면 됩니다.

AA-26 #in-progress #comment 날자 출력시 안내 메시지를 한글로 변경
CODE






같이 보기

Ref