커밋 메시지를 지라에 연동하기

업데이트: Link

내부망 GitLab-ee 와 Jira 연동하기

깃랩을 내부망에 설치하여 사용하다 보니 불편한 것이 이만저만이 아니다. 그중 한 가지는 외부에 cloud로 사용중인 지라와의 연동이다.

둘다 클라우드로 사용한다면 간단한 설정으로 연동하여 사용할 수 있는 편리한 부분이 많다. 하지만 클라우드 서버에서 내부망에 접근이 불가능 하여 일방 통행으로만 소통할 수 있기 때문에 몇 몇 기능은 사용하지 못한다.

대신 지라의 automation 기능을 통해 몇 가지 기능은 억지로 연결할 수 있다. 그중 커밋 메시지를 통한 지라 이슈 아이템의 상태 자동 변경을 적용하는 방법을 이야기 하고자 한다.

1. 내부 깃랩 서버에 지라연동 설정하기

깃랩에서 프로젝트의 설정(settings)의 연동(integrations) 부분을 먼저 설정해 주어야 한다.

  1. 우선 설정 화면으로 들어가자.
    프로젝트설정(settings)연동(integrations) 메뉴로 이동한다.
  2. Add an integration 목록에서 Jira 를 찾아 선택한다.
  3. Web URL 항목에 atlassian 계정 URL 을 입력한다.
    보통 http://{user or team}.atlassian.net 을 입력한다.
  4. Username or Email 항목에 지라에 로그인할 계정을 입력한다.
  5. Enter new password or API token 항목에 위에 입력한 계정의 비밀번호 혹은 지라에서 발급한 API 토큰을 입력한다.
  6. 버튼을 눌러 우측하단에 connection successful
    “Connection successful.” 이라는 메시지가 나타난다면 잘 연결되었다는 이야기다.
  7. 이제 버튼을 눌러 저장한다.

2. 커밋 메시지가 지라 이슈에 등록 되는지 확인하기

앞서 설정으로 내부서버에 설치한 깃랩이 지라 클라우드에 연결되었다면 이제 커밋 메시지에 지라의 이슈 아이디를 등록해 연동이 되는지 확인할 차례이다.

  1. 앞서 지라를 등록한 프로젝트에서 실제 프로젝트에 영향을 주지 않을 부분을 살짝 변경해 본다. (스페이스만 입력해도 된다.)
  2. 에디터를 사용중이라면 사용중인 에디터의 commit 기능을 활용해 메시지에 ISSUE-ID :test_tube: 지라연동 테스트를 입력해 보거나, 에디터 사용자가 아니라면 해당 프로젝트의 위치에 터미널 혹은 쉘을 이용해 git commit -m "ISSUE-ID :test_tube: 지라연동 테스트" 명령을 해보자.
  3. 앞서의 방법과 마찬가지로 push를 실행한다. command shell 에서는 git push -u origin {your-branch} 을 이용한다.
  4. 방금 커밋할 때 사용한 ISSUE-ID를 가진 이슈를 찾아 댓글과 링크가 등록되었는지 확인해 보자. (링크가 내부망에서 사용하는 주소라 외부에서는 링크가 있어도 볼 수 없다.)
    jira-comment-with-push

3. 지라 자동화 설정하기

요즘에는 자동화 기술이 많이 발달되어 있다. GitLab 이나 GitHub 도 마찬가지지만 지라에도 이러한 자동화 프로세스 기능이 적용되어 있다.

지라의 이슈에 #in-progress 라는 해쉬태그가 포함되면 이 이슈의 상태를 진행중으로 옮기는 규칙을 작성해 보자.

  1. 지라의 프로젝트매뉴에서 설정(settings)자동화(automation) 메뉴로 이동하자.
  2. 버튼을 클릭해 새 규칙을 작성해 보자.
  3. 새 트리거에서 이슈에 댓글 달림 항목을 트리거로 선택한다. new trigger
  4. 댓글 유형에 모든 댓글을 선택하고 저장 버튼을 누르면 다음 컴포넌트 생성 화면으로 넘어간다.
  5. 모든 댓글에 반응하는 것이 아니기 때문에 새 조건 항목을 선택하자. new component
  6. 고급 비교 조건을 선택해 비교 조건을 `` 값에 포함 된 내용중 #in-progress 가 있다면 으로 설정하고 버튼을 눌러 저장해 준다. condition in progress
  7. 다음 컴포넌트로는 새 작업을 선택해 이슈전환 작업을 선택한다. new task
  8. 변경될 상태를 진행중 으로 선택하고 하고 자동화의 이름을 정해 입력한 다음 를 실행 시킨다. issue transition

커밋메시지로 이슈 상태변경 테스트

이제 준비는 끝났다. 커밋 메시지에 #in-progress를 포함하도록 작성하여 push 하고 상태가 변경되는지 확인해 보자.

  1. 2번 항목에서 처럼 커밋을 하자. 단 메시지에 #in-progress가 포함되어야 한다.
  2. 해당하는 지라 이슈의 상태가 변경 되었는지 확인한다.

댓글남기기