본문 바로가기
Dev

Jira Webhook 웹훅 구성 및 연동 테스트 방법 pipedream

by 데브길길잇 2023. 6. 18.
728x90
반응형

안녕하세요 dev-길길IT입니다.

 

Issue Tracking으로 사용하는 Atlassian Jira는 다양한 기능이 제공되는데요. 그중 하나가 바로 Webhook입니다. 웹훅을 이용하면 Jira에서 관리되는 여러 Issue 상태를 실시간으로 확인하고 제어할 수 있습니다. 필요에 따라서는 별도의 Customizing을 통해 Data를 가공하고 볼 수 있는데요. 

 

오늘은 JIra의 Webhook을 설정하고 구성 연동하는 방법을 알려드리겠습니다.

 

 

     


    웹훅(Webhook)이란?

    https://zapier.com/blog/webhook-vs-api/

    웹훅(Webhook)이란 Event가 발생했을 때 call back을 주는 하나의 방법입니다.

     

    기존의 방식대로라면 client가 요청을 해야만 response를 받을 수 있었는데요. 언제 event가 발생할지 모르는 상태에서 지속적으로 request를 보내게 되면 불필요한 traffic을 소모하게 됩니다.

     

    그래서 해당 서버에서 원하는 event가 발생했을 때에만 딱 한 번 Webhook을 통해 callback을 주어 단 건의 traffic만으로 원하는 결과를 얻을 수 있게 되는 것이죠.

     

    Jira Webhook 설정 방법

    Administrator 권한이 있다면 JIra에서도 Webhook을 설정할 수 있습니다. 먼저 설정의 System 항목으로 이동해 줍니다.

     

     

    그러면 이렇게 Administration 메뉴로 이동할 수 있는데요. 여기서 왼쪽에 있는 구성 메뉴들을 보면 세부적인 기능들이 많이 나열되어 있습니다.

     

    그중 Advanced 영역으로 가보시면 Webhooks라는 항목이 있습니다. 선택해 줍니다.

     

    Jira의 Webhook 메뉴로 이동하면 현재는 아무것도 없을 텐데요. 새로운 구성을 위해서 우측에 있는 <Create a WebHook> 버튼을 클릭해 줍니다.

     

    새로운 Jira의 Webhook을 구성 설정할 수 있는 메뉴로 이동했습니다. 여기서 웹훅을 세부적으로 설정할 수 있는데요. 먼저 webhook의 이름을 적어주고 callback response를 받을 api의 URL을 그다음에 입력해 줍니다.

     

    만약 api가 없는데 webhook을 테스트해보고 싶으면 pipedream을 통해 가능합니다.

     

    Connect APIs, Remarkably Fast - Pipedream

    Pipedream is a low code integration platform for developers that allows you to connect APIs remarkably fast. Stop writing boilerplate code, struggling with authentication and managing infrastructure. Start connecting APIs with code-level control when you n

    pipedream.com

    pipedream 사이트로 이동해서 Try Pipedream for free 버튼을 선택하시고 로그인을 해주시면 되는데요. 회원가입을 하지 않고 google 계정을 연동해서 간단한 로그인 후 진행할 수 있습니다.

     

     

    그 후 Create Request Bin 버튼을 눌러서 webhook의 response를 받을 api를 준비해 볼 수 있습니다.

     

    어떤 용도로 api를 사용할 것인지 선택하게 되는데요. 여기서 HTTP / Webhook을 선택해 줍니다.

     

     

     

    그 후 webhook callback을 주는 server의 용도를 선택해주어야 하는데요. 여기서는 HTTPS Requests(Most Popular)를 선택해 주었습니다.

     

     

    최종적으로 Event Data와 HTTP Response 값을 확인한 후에 Save and continue 버튼을 누르면 이제 jira에서 webhook을 받을 api가 준비되었습니다.

     

     

    여기에서 사용할 webhook trigger url이 나오는데요. 이 주소를 복사해 줍니다.

     

     

    그다음 다시 Jira로 이동해서 URL에 pipedream에서 방금 생성한 api url을 입력해 줍니다.

     

    하단에 있는 Events에서는 어떤 jira의 event가 발생했을 때 웹훅을 통해 callback을 받을지 정할 수 있는데요. 저는 comment부터 issue의 모든 상태에 다 체크를 해두었습니다. 그러면 위에서 선택한 상태의 변경이 일어날 때마다 Jira에서는 webhook을 발생시키고 api URL로 데이터를 넘겨주게 됩니다.

     

     

    그 후 하단의 create를 눌러줍니다.

     

     

    이제 jira에서 webhook 구성이 완료되었습니다. 추후 필요하면 수정을 하거나 삭제할 수도 있습니다.

     

     

    한 번 Jira의 Issue 상태를 변경해 보겠습니다. Workflow에서 진행 상태를 변경해 보았는데요.

     

     

    그러면 pipedream에서 이렇게 바로 callback response가 catch 됩니다.

     

     

    해당 response를 선택 해보면 오른쪽에 request의 종류와 상태, 세부 내용들을 확인할 수 있고요. Body를 보면 해당 Issue의 현재 상태로 저장된 값들을 볼 수도 있습니다. 그리고 어떤 Data가 change 되었는지도 별도의 key로 제공해 줍니다. 이 값들을 추후에 활용할 수 있겠습니다.


     

     

     

    마무리

    오늘은 Jira Webhook 웹훅 구성 및 연동 방법과 pipedream을 이용한 테스트를 진행해 보았습니다. 웹훅을 이용하면 일일이 request를 요청하지 않고도 필요할 때에만 정보를 주고받을 수 있습니다. 그만큼 사용되는 자원의 양을 줄일 수 있고, traffice도 줄어들기 때문에 더 효율적으로 사용할 수 있습니다. 그리고 비용도 그만큼 줄어들게 됩니다.

     

    도움이 되시기를 바라며 오늘도 읽어주셔서 감사합니다.

     

     

     

     

    728x90
    반응형

    댓글