ETC/Git

[Discord] 웹훅으로 GitHub 로그 받기

Jade Choe 2020. 9. 16. 21:51
SMALL

재택근무가 길어지면서 사내메신저의 필요성을 느끼던 중

Slack이나 잔디, 라인웍스 등의 협업 툴을 써봤지만 큰 메리트를 느끼지 못하고

관련 소프트웨어에 익숙하지 않은 직원들도 쉽게 쓸 수 있는 디스코드를 선택했다.

일단 직원들 대부분이 온라인게임을 즐기기 때문에 새로 설치하거나 익숙해질 필요가 없었고,

파일 전송 용량 등 몇가지를 제외하면 Slack과 크게 다른점이 없는데,

구글 클라우드와 사무실 내 스토리지가 있어서 필요가 없는 상태였으며

무엇보다 API를 활용해 직접 필요한 기능을 개발할 수 있는 장점이 컸다.

Django로 디스코드 봇을 만들어 프로젝트 관리와 서버에 이슈가 생기면 푸시알림을 보내주려고 했는데

연동 탭에 "웹후크" 항목이 눈에 띄었다.

보자마자 Github에 웹훅 연결하면 되겠네 ㅋㅋ루ㅋㅋ삥뽕 을 외치며 웹훅 생성

처음에 웹훅을 만들면 Captain Hook이라는 이름으로 생성된다.

저 이름과 프로필사진대로 채팅창에 나오는줄알고 이름과 프사를 바꿔줬는데, 깃헙은 그럴 필요가 없었다.

일단 저장 후 웹후크 URL 복사를 눌러준다.

리포지토리의 Settings에 들어가보면 왼쪽에 Webhooks 탭이 있다.

Add Webhook을 누르고

Payload URL에 복사한 URL링크를 넣어주는데, 주의해야 할 점은

discordapp.com/api/webhooks/(중략)*****ito5sjcO*************_hUWO_hTfZt
뭐 이런식으로 생성된 URL 뒤에 반드시

/github

를 추가해줘야 한다.

왜그런지는 나도 모른다.

어쨌든 최종적으로

discordapp.com/api/webhooks/(중략)*****ito5sjcO*************_hUWO_hTfZt/github

이런 형태의 URL을 넣어준 뒤, Content Type을 Application/Json으로 바꾸고

다른건 건들 필요 없이 Add Webhook 버튼만 눌러주면 된다.

그 뒤에 해당 리포지토리에 Push / Pull Request 등의 변화가 생기면

이런식으로 알려준다.

위에 언급한 것처럼 프로필사진과 이름을 바꿔줄 필요가 전혀 없다. 디스코드에 깃허브 봇이 있나보다..

@everyone이나 @here 등으로 호출하는 기능은 없다.

일단 #git-log 라는 채널을 만들어놓았으니 해당 채널에만 알림을 켜놓고

프로젝트 참여인원을 언급하고싶기 때문에 다시 봇을 개발하러 가야겠다.

BIG