커밋 메시지를 지라에 연동하기
업데이트: Link
내부망 GitLab-ee 와 Jira 연동하기
깃랩을 내부망에 설치하여 사용하다 보니 불편한 것이 이만저만이 아니다. 그중 한 가지는 외부에 cloud로 사용중인 지라와의 연동이다.
둘다 클라우드로 사용한다면 간단한 설정으로 연동하여 사용할 수 있는 편리한 부분이 많다. 하지만 클라우드 서버에서 내부망에 접근이 불가능 하여 일방 통행으로만 소통할 수 있기 때문에 몇 몇 기능은 사용하지 못한다.
대신 지라의 automation 기능을 통해 몇 가지 기능은 억지로 연결할 수 있다. 그중 커밋 메시지를 통한 지라 이슈 아이템의 상태 자동 변경을 적용하는 방법을 이야기 하고자 한다.
1. 내부 깃랩 서버에 지라연동 설정하기
깃랩에서 프로젝트의 설정(settings)의 연동(integrations) 부분을 먼저 설정해 주어야 한다.
- 우선 설정 화면으로 들어가자.
프로젝트
➔설정(settings)
➔연동(integrations)
메뉴로 이동한다. - Add an integration 목록에서 Jira 를 찾아 선택한다.
- Web URL 항목에 atlassian 계정 URL 을 입력한다.
보통http://{user or team}.atlassian.net
을 입력한다. - Username or Email 항목에 지라에 로그인할 계정을 입력한다.
- Enter new password or API token 항목에 위에 입력한 계정의 비밀번호 혹은 지라에서 발급한 API 토큰을 입력한다.
- 버튼을 눌러 우측하단에
“Connection successful.” 이라는 메시지가 나타난다면 잘 연결되었다는 이야기다. - 이제 버튼을 눌러 저장한다.
2. 커밋 메시지가 지라 이슈에 등록 되는지 확인하기
앞서 설정으로 내부서버에 설치한 깃랩이 지라 클라우드에 연결되었다면 이제 커밋 메시지에 지라의 이슈 아이디를 등록해 연동이 되는지 확인할 차례이다.
- 앞서 지라를 등록한 프로젝트에서 실제 프로젝트에 영향을 주지 않을 부분을 살짝 변경해 본다. (스페이스만 입력해도 된다.)
- 에디터를 사용중이라면 사용중인 에디터의
commit
기능을 활용해 메시지에ISSUE-ID :test_tube: 지라연동 테스트
를 입력해 보거나, 에디터 사용자가 아니라면 해당 프로젝트의 위치에 터미널 혹은 쉘을 이용해git commit -m "ISSUE-ID :test_tube: 지라연동 테스트"
명령을 해보자. - 앞서의 방법과 마찬가지로
push
를 실행한다. command shell 에서는git push -u origin {your-branch}
을 이용한다. - 방금 커밋할 때 사용한 ISSUE-ID를 가진 이슈를 찾아 댓글과 링크가 등록되었는지 확인해 보자. (링크가 내부망에서 사용하는 주소라 외부에서는 링크가 있어도 볼 수 없다.)
3. 지라 자동화 설정하기
요즘에는 자동화 기술이 많이 발달되어 있다. GitLab 이나 GitHub 도 마찬가지지만 지라에도 이러한 자동화 프로세스 기능이 적용되어 있다.
지라의 이슈에 #in-progress
라는 해쉬태그가 포함되면 이 이슈의 상태를 진행중
으로 옮기는 규칙을 작성해 보자.
- 지라의 프로젝트매뉴에서 설정(settings) ➔ 자동화(automation) 메뉴로 이동하자.
- 버튼을 클릭해 새 규칙을 작성해 보자.
- 새 트리거에서 이슈에 댓글 달림 항목을 트리거로 선택한다.
- 댓글 유형에 모든 댓글을 선택하고 저장 버튼을 누르면 다음 컴포넌트 생성 화면으로 넘어간다.
- 모든 댓글에 반응하는 것이 아니기 때문에 새 조건 항목을 선택하자.
- 고급 비교 조건을 선택해 비교 조건을 `` 값에
포함
된 내용중#in-progress
가 있다면 으로 설정하고 버튼을 눌러 저장해 준다. - 다음 컴포넌트로는 새 작업을 선택해 이슈전환 작업을 선택한다.
- 변경될 상태를
진행중
으로 선택하고 하고 자동화의 이름을 정해 입력한 다음 를 실행 시킨다.
커밋메시지로 이슈 상태변경 테스트
이제 준비는 끝났다. 커밋 메시지에 #in-progress
를 포함하도록 작성하여 push
하고 상태가 변경되는지 확인해 보자.
- 2번 항목에서 처럼 커밋을 하자. 단 메시지에
#in-progress
가 포함되어야 한다. - 해당하는 지라 이슈의 상태가 변경 되었는지 확인한다.
댓글남기기