Github Webhook을 협업툴과 연결해서 팀의 생산성 높이기 (with. Discord)
협업 과정에서 개발 생산성을 증가시키는 방법은 다양하지만, 그중 협업을 편하게 만들어주는 협업툴을 활용하는 것도 좋은 방식이라고 생각한다.
우리 땅콩 팀은 우테코에서 사용하고 있는 Slack을 사용하여 프로젝트 협업 관리를 하려했지만,
무료 버전에서는 대화 기록이 3개월 밖에 유지되지 않는 Slack의 단점이 너무 크다는 판단 하에
Discord를 협업툴로 정하게 되었다.
Discord는 정말 다양한 서비스와 연동하여 사용할 수 있는 협업툴인데,
Discord 채널에 Webhook을 연결하여 Github 내에서의 Issue 생성, PR 생성 등 특정 행위가 발생하면 알림을 보내도록 설정할 수 있었다.
우리 팀의 VCS(Version Control System)는 Github이고,
VCS와 관련된 주요 동작이 발생하면 우리의 협업 공간에 알림은 주는 것은 개발 생산성에 큰 효력이 있을 것이라고 생각했다.
이 부분은 팀원들도 공감하는 내용이었고, 때문에 Webhook을 활용하여 ‘Github to Discord 알림’ 설정을 주도하게 되었다.
아래에는 그 과정을 설명해놓았으니 필요한 사람들은 따라서 해보면 될 것이다.
Discord에 알림을 전달받을 채널 생성
디스코드 서버에 깃허브 알림을 받을 채널을 하나 생성한다.
이름은 자신이 원하는 대로 설정하면 되는데, 나는 github이라는 이름으로 설정하였다.
Discord 채널 Webhook 설정
이제 본격적으로 Webhook 설정을 수행해보자.
아래 사진의 설명을 따라가보자.
Webhook 설정을 원하는 서버의 ‘서버 설정’ 클릭
좌측 설정 탭 - 연동 - 웹후크 만들기 클릭
이름은 원하는 대로 설정하고, 채널은 알림을 보내줄 채널을 선택한다.
나는 방금 알림을 위해 만든 github 채널을 선택했다.
Webhook 생성 후에는 ‘웹후크 URL 복사’ 버튼을 통해 URL을 복사해주고 알림을 받을 Github Repository로 이동한다.
Github Repository Webhook 설정
이젠 Github Repository에서 Webhook 설정을 통해 Discord와 연결을 해주면 알림 설정이 마무리된다.
Repository - Settings 클릭
좌측 설정 탭 - Webhooks 클릭
좌측 상단에 ‘Add webhook’ 버튼 클릭
기본 설정
- ‘Payload URL’에 Discord에서 복사해온 웹후크 URL + /github 입력
- ‘Content type’에 application/json 입력
트리거 설정
최하단 설정을 보면 webhook의 trigger를 설정할 수 있다.
- 첫 번째는 push 이벤트만 알림을 보내는 것
- 두 번째는 모든 이벤트의 알림을 보내는 것
- 세 번째는 선택 사항에 대한 알림만 보내는 것이다.
트리거는 세 번째를 선택하여 선택 사항에 대한 알림만 받도록 하였다.
push만 알림을 받기에는 정보가 적어 생산성 향상에 큰 도움이 되지는 않을 것이다 싶었고, 모든 이벤트에 대한 알림을 보내는 것은 오히려 알림을 통해 전달받는 정보의 질을 저하시킨다고 느꼈다.
때문에 세 번째를 선택했고, Issue, PR, Release, PR에 리뷰가 달렸을 때 를 알림이 필요한 정보라고 생각해서 받도록 설정해주었다.
팀 Discord 채널에 전달된 Github 알림
이제는 Issue, PR, Release, Milestone, Push 와 관련된 이벤트가 발생하면 위 사진과 같이 Github에서 우리의 슬랙 github 채널로 알림을 보낸다.
이를 통해 팀원들이 더욱 빠르게 깃헙에서 발생하는 프로젝트 진행 상황을 공유받을 수 있게 되었고
이는 분명 우리 팀의 생산성을 높여줄 것이라고 생각한다.