GitHub Webhook을 활용하여 PR 알림받기

navyjeongs·2024년 1월 20일
post-thumbnail

나는 프로젝트를 진행하면서 자동화할 수 있는 부분은 자동화를 하려고한다. 앞선 포스팅에서는 Docker를 이용하여 배포 자동화를 하는 방법에 대해 작성하였다. 해당 글은 프론트엔드 배포 자동화에서 확인할 수 있다.

나는 배포뿐만 아니라 PR의 code review와 관련해서도 자동화를 하고싶었다.
왜냐하면 프로젝트를 진행할 때 PR올렸으니 확인부탁드려요라고 말하는 것이 매우 귀찮았다. 또, 빨리 review를 하라고 압박을 주는 것 같았다.

따라서, GitHub 웹훅을 활용하여 PR을 요청하면 자동으로 알림을 보내도록 자동화하였다.
디스코드, 슬랙 등 여러 곳에서 사용할 수 있지만 나는 주로 슬랙을 활용하므로 슬랙에서 알림 받는 방법을 작성하겠다.

채널에 앱 추가하기

특정 채널에서 PR알림을 받기 위해 채널을 하나 생성하자.

채널 우클릭을 해서 채널 세부 정보로 이동한다.

앱 추가를 통해 GitHub 앱을 추가하자.

계정 연결하기

워크스페이스에 깃허브 앱이 추가되었으니 이제 깃허브 계정을 연결해야한다.

Github 앱을 클릭하면 아래와 같은 대화창을 확인할 수 있는데 Connext GitHub account를 클릭해서 계정을 연결하자.

계정을 연결하면 아래와 같이 Verification Code를 발급해준다.

해당 코드를 Enter code를 눌러서 입력하자.

그러면 아래와 같이 정상적으로 로그인된 것을 확인할 수 있다.

repository 연결하기

앞서 자신의 계정을 연결했으니 이제 웹훅을 받을 repository를 연결해야한다.

아래 명령어를 통해 repository를 연결하자.

/github subscribe {owner}/{repository name}

위 명령을 입력하면 해당 repository에 구독 성공한다.

연결할 때 에러가 뜬다면

만약, 아래와 같은 에러가 뜬다면 repository가 존재하지 않거나 해당 repository에 접근 권한이 막혀있는 것이다.

Install GitHub APP을 눌러서 깃허브 페이지로 이동하자.

이동해서 repository권한을 설정하면 된다. 나는 모든 repository 권한을 주기보단 PR 알림을 받을 repository만 연결한다.

특정 액션 알림 해지

기본적으로 repository를 연결하면 issues, pulls, commits, releases, deployments 액션에 대해 알림을 받는다.

이슈를 생성해보자.
이슈를 생성하면 아래와 같이 알림이 온다.

이제 커밋을 해보자.
커밋 후 push할 때 마다 알림이 울린다.

commits 알림을 받아도 상관없지만 commits에 대해 알림을 받으면 팀원이 push를 할때 마다 알림이 울린다.
너무 잦은 push를 한다면 시도때도 없이 알림이 울려서 오히려 팀원이 알림을 끌 수도 있다.

따라서 다들 팀 상황에 맞게 알림을 받은 액션을 설정하자.

나는 PR 및 ISSUE 생성에 대해서만 알림을 받으려고한다.

알림을 해제하는 명령을 다음과 같다.

/github subscribe {owner}/{repository name} {해제할 액션}

나는 commits, releases, deployments에 대해 알림을 해제했다.

/github unsubscribe navyjeongs/github-webhook commits releases deployments

설정완료

이제 설정이 완료되었다. 앞으로는 PR을 요청할 때 눈치를 보지말고 알림으로 알려주자!

profile
Front-End Developer

0개의 댓글