WebHoook으로 Github PR과 review 알림 자동화 적용기
처리한지 몇 달이 흘렀지만 팀원들의 업무 피로도를 줄이기 위한 하나의 방법으로
PR 자동화를 제안해 적용한 후기를 포스팅합니다.
기존에는 PR시 알림이 따로 오지 않아 디스코드로 DM을 보내 체크를 부탁드린다고 말해야 했는데요.
매번 요청을 보내는 것도 비효율적이라고 느꼈고, 자동화를 통해 팀원들의 업무 피로도를 조금이나마
줄여보고 싶은 마음이 생겨 알림 자동화를 도입하기로 마음먹었습니다.
사내 협업 툴로 디스코드를 사용하고 있어 디스코드와 깃허브 PR 알림에 대해 알아보던 중,
제가 정확히 원하던 내용을 다루는 블로그를 찾게 되었습니다.
바로 시작하는 웹훅 적용 방법
1. 디스코드의 서버 설정(= server settings) > 연동(= integrations)으로 이동합니다.
2. 새 웹훅을 선택 후 이름과 알림을 받을 채널을 설정하고 웹훅 URL을 복사합니다.
사내에서 팀별로 채널을 만들어 운영한다면, 자신의 팀으로 설정하면 끝!
3. 깃허브 > 알림을 받을 레포지토리의 settings > webhooks로 이동합니다.
깃허브 관리 권한이 존재하는 계정으로 진행해주셔야 합니다.
4. 디스코드 웹훅 URL과 content type, 웹훅 이벤트 발생 설정을 조정해줍니다.
payload URL은 디스코드 웹훅 URL을 붙여넣기한 후, 뒤에 추가로 /github를 작성해주셔야 합니다.
content type은 json으로 받아올 수 있도록 설정값을 application/json으로 선택해주시고요!
5. 마지막으로 언제 알림을 받을 것인지에 대한 설정이 필요합니다.
저는 원하는 알림만 선택을 하고싶었기에 Let me select individual events를 선택했고
PR 관련 알림을 선택해줬습니다.
(이 부분은 팀원들과 짤막하게 논의 후, 리뷰에 대해서만
알림을 체크하는 것이 나아보여 체크한 내용입니다.)
알림 자동화 적용 이후
불필요하게 알림에 대해 말하지 않아도 되며 개인적으론 조금은 편안함을 찾게 되었습니다.
다른 팀원분들의 후기를 묻지 않아 모르겠지만
2023년 11월에 적용해서 2024년 5월 21일인 오늘까지
다른 말씀이 없으신 걸 보면 만족하고 계신다고 여겨도 되겠죠?
저는 이만 다시 변수명을 고민하러 떠나보겠습니다. 안녕!
25.01.24 완전 꿀같은 추가정보)
채널 단위의 알림 뿐만이 아닌, 채널 내부의 포스트(또는 스레드)에도 웹훅 적용이 가능하단 사실!
알림 채널의 하위 포스트에 웹훅을 연동해 팀단위로 깃헙 등의 알림을 설정해놓는 것이 가능합니다.
채널 연결 시 사용되는 Payload URL: {Webhook URL}/github
포스트(= 채널 하위 단위) 연결 시 사용되는 Payload URL: {Webhook URL}/github?thread_id={thread_id}
thread_id를 쿼리 파라미터(query parameter)로 추가해주면 되는데요.
thread_id가 표기되지 않는 경우에는 디스코드 앱 내 ‘user settings’ → ‘Advanced’ → ‘Developer Mode’ 버튼 활성화 시
보여집니다.
이후 포스트에 우클릭을 해보면
Copy Thread ID라는 메뉴가 보여집니다.
이후 등록 단계는 동일합니다!
Refrence