아직도 PR올리고 카톡으로 알리시나요?

Jun_Gyu·2024년 1월 4일
72

협업 시리즈

목록 보기
3/4
post-thumbnail

🔔 깃허브의 고질병, '실시간 알림'


깃허브를 사용하면서 제일 불편한 점을 말해보라고 하면,

역시 깃허브 자체적으로는 실시간으로 알림을 받을 수 없다는 부분을

큰 단점을 꼽을 수 있습니다...

(이것때문에 임티플러스 구독한건 안비밀)

이메일을 통해서 알림을 받거나, PR을 올린 이후

카톡과 같은 메신저를 통해 팀원들에게 직접

확인을 요청드려야 한다는 불편함이 존재합니다.



그래서 저는 디스코드에 있는 웹훅 기능을 활용,

디스코드와 깃허브를 연동하여

실시간 PR 알림을 자동으로 받아오도록 했습니다.



🙄 웹훅이란?

웹훅이란,

하나의 웹 애플리케이션이 다른 웹 애플리케이션에 실시간 정보를 제공하는 방법입니다.

특정 이벤트에 의해 트리거되는 사용자 정의 HTTP 콜백으로,

이벤트가 발생할 때 한 응용 프로그램이

다른 응용 프로그램에 자동으로 데이터를 보낼 수 있습니다.



👀자동으로 PR 알림을 받아보자

❗ 해당 내용은 직접 디스코드 서버를 개설한 관리자나, 관리자 권한을 부여받은 상태에서 진행됨을 알립니다!

1. 디스코드 설정

먼저 PR 알림을 받고자 하는 서버를 우클릭 한 후,

서버설정 > 연동 순서로 들어가줍니다.


(디코에는 웹후크라고 되어있으니 이하 웹후크라고 하겠습니다)
들어가게 되면, 웹후크와 관련된 내용을

추가하거나 수정할 수 있는 설정창으로 이동이 가능합니다.

여기서 웹후크 보기 버튼을 눌러줍니다.

초강력 인터넷 파워

모든 웹후크들은 이곳에서 생성 및 관리를 할 수 있습니다.

스스로 만들어보세요를 참고해서 웹후크를 직접 커스터마이징을 통해 생성하는 것도 가능하지만,

단순히 깃허브의 알림을 받아오는 용도라면 추가적인 리소스를 들일 필요 없이
디스코드에서 지원하는 새 웹후크를 이용하면 됩니다!

새 웹후크 버튼을 클릭하게 되면,

랜덤한 이름을 가진 봇이 생성되게 됩니다.

이 봇을 클릭하게 되면,

기본적으로 봇의 프로필사진이름,

그리고 실시간으로 알림을 수신할 채널을 직접 커스텀 할 수 있습니다.

채널의 경우에는 일반 채팅채널 뿐만 아니라, 음성채널까지 적용이 가능합니다.
(음성채널에도 채팅방이 있으니까요!)


❗ 주의점 ❗

여기서 눈치가 또 빠르신 분들은 아시겠지만,

디스코드의 채널명만 있을 뿐, 카테고리를 확인하기 어렵습니다..!

기존 디스코드의 채팅채널에서는

채팅창에 #채널명을 입력하면 위와같이

오른쪽에 어떤 카테고리에 속해있는지 표시가 되기 때문에

어떤 채널인지 구분이 쉽지만,

웹후크 설정화면에서는 채널명만 표시되기때문에

이부분은 인지하고 사용하고자 하는 채널명을 미리 유니크하게 가져가는 것도

좋은 방법이 될 것 같습니다.


프로필과 이름, 채널을 지정해주셨다면 디스코드 하단의 변경사항 저장하기를 진행해주세요!

이후 만들어진 웹후크의 URL을 복사해줍니다.

웹후크 URL의 경우에는

https://discord.com/api/webhooks/`웹후크 아이디`/`웹후크 토큰`

(백틱 기호는 제외해주세용)

와 같은 형식을 취하게 됩니다.

❗ 해당 URL은 외부로 노출되지 않도록 주의해주세요!



2. 깃허브 설정

❗ 깃허브 레포지토리도 마찬가지로 최고 관리자인 admin으로 설정되어있으셔야 합니다!

알림을 받고자 하는 레포지토리 화면에서 상단의 맨 우측 버튼인 Settings를 클릭해줍니다.

설정 메뉴를 보시면 Webhooks가 있습니다.

클릭해서 들어가줍시다!

아까 미리 복사해뒀던 웹후크 URL을 적용하기 위해

Add webhooks를 클릭해줍니다.

위의 부분에 아까 복사해뒀던 URL을 붙여넣기로 입력하면 되겠습니다.

마지막에는 꼭 /github를 붙여주세요!

그리고 Content type은 json으로 받아올 수 있도록 설정값을 application/json으로 바꿔줍니다.

마지막으로는 수신받고자 하는 알림들을 직접 선택할 수 있는데,

첫번째의 경우 push알림만 받아오고,

두번째의 경우에는 전체알림을 받아오며,

세번째의 경우에는 받아오고 싶은 알림을 직접 선택할 수 있습니다.


저와 같은 경우 처음에 뭣모르고 첫번째로 설정하니

작업을 진행중인 모든 인원들의 커밋 푸시가 전부 디스코드로 알람이 오더라구요..

저희 목적은 PR에 대해서 알림이 수신되도록 설정하는 것이니,

세번째 설정을 통해 커스터마이징을 거쳐야 합니다.

세번째 항목을 선택할 시 다양한 알림 목록을 확인할 수 있었습니다.

그 중에서 PR과 관련된 알람 내용으로 추천드리는 설정은,

Pull request review commentsPull request reviews
그리고 Pull requests, 입니다.


🤔Pull request review comments와 Pull request reviews 는 무슨차이인가요?

사진으로 간단히 보여드리자면,

1. Pull request reviews

2. Pull request review comments

라고 볼 수 있습니다!


이부분은 사용하시려는 개인이 판단하셔서

최상위의 리뷰 부분만 받을지,

아니면 하위 코멘트들만 받을지,

혹은 전체 다 알림을 받을지 정하시고 설정해주시면 됩니다!



🤔근데 왜 Pull request review threads는 설정하지 않는건가요?

Pull request review threads의 경우에도 선택 사항입니다.

개인적인 생각이긴 하지만,

PR 알림 자체가 말 그대로 PR 등록을 중점으로

알림이 오도록 설정하려 했는데,

각 PR 마다 resolve 알림까지 전부 디스코드로 받게되면

배보다 배꼽인 알림공해가 예상되었기에 저같은 경우에는 따로 체크해주진 않았습니다.

(PR은 한두개 올라와있는데, 피드백은 0~수십개까지 나올수도 있으니까요..!)

여담으로,

저와 같은 경우에는 코드리뷰를 진행 후 굳이 위의 사진처럼 resolved를 하지 않고,

reply 코멘트를 통해 피드백을 내용을 반영했다고 전달하고 있습니다.

(팀원들도 굳이 스레드를 접었다 폈다 하면서 보기 번거로우니까요)



이 이외에도 새로운 이슈 등록이나 위키등록 등 여러가지 기능들에 대한 알람을 추가할 수 있으니

본인이 사용하고자 하는 기능들에 대해서 직접 활성화하여 사용하시면 되겠습니다!

✅ 끝. 완성!

저와 같은 경우에는

새로운 PR에 대한 알림은 짙은 초록색,

코멘트에 대한 내용은 옅은 연두색,

그리고 닫힌 PR은 검은색 태그로

임베드가 표시되고 있네요.

다른 디코서버에서는 다른 색상으로 표시가 될 수 있는 점,

인지하고 계시면 좋을 것 같습니다!

PR 알림 자동화, 그 이후..

웹후크를 사용하여 PR알람을 설정하기 전에는

 PR확인요청 카톡 확인 -> 
가끔 다른 톡때문에 PR확인 카톡이 묻힘ㅠㅠ -> PR 확인 -> 코드리뷰

의 프로세스로 진행된 터라 개개인별로 PR을 확인하는데 있어 많은 불편함을 겪기도 했습니다.

(가끔 PR 올리고 카톡으로 알린다는걸 깜빡할때도 있었습니다.)

하지만, 웹 훅을 이용하여 디스코드에서 실시간 PR 알림을 받은 이후,
깃허브 PR 알림만을 위한 채널을 개설했던 터라

자동으로 디코알림 수신 -> 확인후 해당 PR 페이지로 바로 이동 -> 코드리뷰

오로지 PR에 대한 알림만 자동으로 수신받을 수 있어

빠른 코드리뷰 및 merge가 가능했었습니다.


여담이지만, 생각보다 pr 확인하는 주기가 이전대비 2-3시간 정도 빨라져서
PR approve 인원을 급히 2명->3명으로 늘리기도 했습니다..ㅋㅋㅋ


협업 시 만약디스코드를 사용하신다면

위의 내용에 대해 숙지하셔서

PR 관련 커밋 내용을 좀 더 수월하게 확인하시면 보다 더 수월하지 않을까 싶습니다!

❗ 혹여나 사용하시다가 PR 알림이 오지 않는 오류가 발생하셨다면,

다음 포스팅을 참고해주시면 감사하겠습니다!

profile
시작은 미약하지만, 그 끝은 창대하리라

4개의 댓글

comment-user-thumbnail
2024년 1월 8일

좋은 글 감사합니다~

1개의 답글
comment-user-thumbnail
2024년 1월 18일

글 잘 읽었습니다. 여기서 사용한 버전은 채널에 알람이 오는데 저같은 경우에는 여러 개의 프로젝트를 진행할 경우 채널을 너무 많이 만들게 되서 디스코드의 포럼 게시글에 알람이 오도록 설정했습니다. 취향차이기는 하지만 해당 기능도 한번 사용해보시는 것을 권장드립니다;D 좋은 하루 보내세요.

1개의 답글