지라(JIRA)의 자동화 기능을 이용해서 새로 달린 댓글의 멘션을 디스코드로 보내기

  • 저희팀은 이슈트래커는 지라를, 메신저는 디스코드를 사용하고 있습니다.
  • 누군가를 언급하는 댓글, 즉 멘션이 발생했을 때 디스코드의 특정 채널에 전달되면 바로 확인할 수 있어서 좋겠죠.
  • 지라의 자동화 기능은 템플릿을 제공하는데요, 안타깝게도 멘션에 관한 것은 없습니다. 당연히 디스코드에 대응되는 것도 없구요.
  • 그래서 지라의 Smart Value를 이용해서 직접 만들어 보기로 했습니다.
  • 이때 두 가지 개념에 대한 이해가 필요한데요.
    • 첫째 지라에서 사용하는 accountId
    • 둘째 디스코드의 webhook
  • 아래에서 차근 차근 설명해 보겠습니다.

지라의 accountId

  • 지라에서 특정 이슈에 멘션이 @ㅁㅁㅁㅁ 빨리 처리해주세요 달린 댓글을 작성하면, 아래와 같은 형식으로 저장이 됩니다.
    [~accountId:XXXXXXXXXXXXXXXXXXXXXXXXXX] 빨리 처리해주세요
    
  • 그러니까 ㅁㅁㅁㅁ 의 사용자ID인 accountId로 저장이 된다는 거에요.
  • 그런데 이걸 자동화 기능에서 comment.bodyissues.comments.last.body 로 가져오려고하면 저장된 형태 그대로 가져오게 됩니다.
  • 디스코드에는 ㅁㅁㅁㅁ 로 표기되어야 하지만 그렇게 안된다는 거죠. 아래처럼 갑니다.
    • Alt text
  • 이걸 사용자 이름으로 바꾸려고 온갖 방법을 찾아봤지만 결국 실패했어요. ㅠㅠ
  • 그래서 if 노가다로 처리했습니다. 예제 코드는 아래와 같습니다.
  • Alt text
  • 주의 하실 점은 중간에 공백문자 들어가면 오류날 수 있다는 점이에요. 아무튼 잘 도착하면 아래처럼 메시지가 전달됩니다. Alt text

디스코드의 webhook

  • 물론 이 모든것은 디스코드 상에서 webhook url을 만든 다음에 수행할 수 있다는 점 잊지마세요.
  • 디스코드 채널 편집 메뉴에서 연동을 선택하면, 웹후크를 만들고 수정할 수 있는 화면이 나옵니다. Alt text
  • 웹후크 URL 복사를 통해서 확보한 URL을 지라의 자동화 메뉴에서 웹 요청전송 부분에 입력하면 됩니다. Alt text

지라(JIRA)의 자동화 기능을 이용해서 이슈 할당하기

  • 저희 팀이 사용하는 지라의 프로젝트는 조금 이상합니다.
  • 다름이 아니라 “담당자”를 지정해도 그 사람으로 할당이 되지 않는거에요.
  • 칸반보드에서 작업자 별로 구분해서 보려면 할당이 되어야 하는데, 그게 매우 힘듭니다.
  • 할당되지 않은 상태의 이슈중, 최하단에 있는것만 할당을 할 수 있는 상태입니다.
  • 아무래도 버그이거나, 가격플랜상의 제약같은데요…
  • 그렇다면 “자동화”를 이용해서 “담당자”를 바꿀때, 해당 트리거를 일으킨 사람에게 할당을 하면 되지 않을까요?
  • 지라의 이슈에는 여러가지 필드가 있는데 그 중에 “담당자”도 포함되더라구요.

1차시도(실패)

  • 먼저 프로젝트 설정의 오토메이션으로 들어간 다음, 자동화 규칙을 하나 만듭니다.
    • Alt text
  • 그리고 트리거 종류로 “필드 값이 변경됨”을 선택하고, 아래 화면처럼 값을 지정합니다.
    • Alt text
  • 트리거 발생시 이슈 할당이 일어나게 하고, 대상은 트리거한 사용자로 합니다.
    • Alt text
  • 그런 다음 이슈의 담당자를 지정해 보겠습니다.
    • Alt text
  • 안타깝게도 안됩니다. 담당자=할당받는자 개념은 맞는것 같은데, 뭔가 칸반보드 상에 버그가 있는것 같습니다.

2차시도

  • 이번에는 특정 “레이블”을 달 때, 할당이 되도록 해보겠습니다. 아래와 같은 레이블이 달리면 저에게 자동할당 시키겠습니다.
    • Alt text
  • 이슈페이지로 들어가서 레이블을 달아봤습니다. 담당자는 저로 되어 있지만, 칸반보드상에서는 할당자가 없는 상태였는데요…
    • Alt text
  • 오! 이제 되네요.
    • Alt text
  • 버그인지, 가격플랜의 제약인지는 모르겠지만 어쩔수 없이 이름을 자동화를 이용하는 수 밖에 없을것 같네요.

지라(JIRA)에서 Github Repository 연동하기 왜 안되는거야??

  • 저희 팀은 협업툴로 지라(JIRA)를 사용하고 있습니다.
  • 그런데 기존에 형상관리는 github을 이용하고 있었고, 앞으로도 바꿀 생각이 없어요.
  • 그러다보니 JIRA와 Github을 연동시켜야 했는데요… Alt text
  • 그런데 위에서 처럼 백날 추가를 클릭해도 안되는거에요. 아래와 같은 에러만 나옵니다. Alt text
  • 다른 팀원들은 잘만 하던데, 왜 나는 안되는걸까? 고민하던 중…
  • 방법을 알아냈습니다.
  • 바로 커밋 메시지에 내가 작업하고 있는 지라 이슈이름만 입력해주면 자동으로 추가되는 거였습니다.
  • 예를들어 이슈이름이 ILLUA-156 이면 아래와 같은 커밋 메시지를 입력해 주면 됩니다. Alt text
ILLUA-156 연동되라 뿅!
제발~
  • 그리고 코드 페이지로 가보면 자동으로 추가되어 있을겁니다. Alt text