슬랙에서 깃허브 구독하기

tohero·2022년 2월 13일
2

도입 계기

프리온보딩 코스에서 프로젝트 4회차 중, 슬랙과 깃허브를 연동하게 되었다. 연동 계기는 다음 이유가 있었기 때문이다. 협업 도중 풀리퀘스트, 커멘트, 도움이 필요한 트러블 이슈가 발생했을 때, 직접적으로 팀원들에게 메세지를 보내지 않으면 확인이 지연되거나 모르는 경우가 빈번히 생겼다. 특히 일정에 여유가 없는 경우, 이러한 상황은 더 자주 발생했기 때문에 원활한 소통을 위해서 수동으로 메세지를 보내지 않고 자동으로 메세지를 보내는 방법을 생각하게 되었다.

결론부터 말하면, 깃허브와 슬랙을 도입하게 되며, 우리 팀이 얻은 이득은 다음과 같고 우리와 비슷한 경험을 하며 문제를 해결하고 싶은 팀은 연동을 통한 자동화를 추천하고 싶다.

  1. 풀리퀘스트 발생을 팀원들이 즉각 알 수 있게 되었다. 이로서 빠르게 공유되어야 하는 공통 코드의 경우, 코드리뷰 후 바로 머지가 가능해서 업무 효율성이 높아졌다.
  2. 코드 리뷰에서 커멘트를 달면 팀원에게 메세지가 전송되기 때문에, 이를 확인하게 된다. 커멘트를 확인하는 것이 익숙하지 않은 팀원이 있을 때, 이전에는 확인하지 않고 머지되는 일이 있었는데 이제는 커멘트를 확인 후 수정하여 머지하고 있다.
  3. 혼자서 해결하기 힘들거나, 시간내에 완수하지 못하는 경우 기존에는 게더에서 팀원 중 한명에게 도움을 요청했다. 하지만 이 방식의 문제는, 팀원이 자리에 없거나 바쁜경우 나중으로 미루게 되며 잊게되는 문제가 발생했다. 그래서 'help wanted'라는 라벨을 달아 이슈를 작성하고 이 라벨이 달리게 되면 메세지가 전송되도록 시스템을 구축했다. 문제점을 기록하여 잊어버리는 일이 발생하지 않는다. 동시에 팀원 모두에게 공유가 되어 자신의 일을 마치고 여유가 생긴 팀원은 메세지를 확인하여 도움을 줄 수 있다.

도입 방법

1. 슬랙의 앱

슬랙에서는 확장 프로그램과 같은 개념으로 앱을 제공한다. 깃허브 앱도 존재하기 때문에 자동으로 메세지를 보내려며 이를 설치해야한다. 슬랙의 왼쪽 상단에 더 보기를 클릭하면 앱 메뉴가 있다.

2. 깃허브 앱 설치하기

앱 메뉴에 들어가 깃허브를 설치해 주자.

설치가 완료되었을 떄, 2022년 1월 13일 기준 깃허브에서 설치에 성공했다는 메세지를 보내준다.

3. 깃허브 메세지를 전송받아야하는 채널에서 /github help를 입력해보자.

  1. Subscribe to notifications for a repository(하나의 레포 구독)
    /github subscribe owner/repository
  2. Unsubscribe from notifications for a repository
    /github unsubscribe owner/repository
  3. Subscribe to notifications for repositories in an organization(조직 전체 구독)
    /github subscribe owner
  4. Unsubscribe from notifications for repositories in an organization
    /github unsubscribe owner
  5. Subscribe to additional features and adjust the configuration of your subscription (구독 옵션 항목 추가)
    /github subscribe owner/repository reviews
  6. Unsubscribe from one or more additional features (구독 옵션 항목 제거)
    /github unsubscribe owner/repository reviews
  7. Subscribe to commits from a specific branch or a pattern of branches(특정 브랜치에서 발생한 커밋 구독)
    /github subscribe owner/repository commits:"mybranch/*"
  8. Unsubscribe from commits
    /github unsubscribe owner/repository commits
  9. Create required-label. Issues, Comments, PRs without that label will be ignored (특정 라벨 구독)
    /github subscribe owner/repository +label:"my label"
  10. Remove required-label
    /github unsubscribe owner/repository +label:"my label"
  11. List all active subscriptions in a channel (구독하고 있는 리스트 목록보기)
    /github subscribe list
  12. List all active subscriptions with subscription features
    /github subscribe list features
  13. Close an issue (이슈 닫기)
    /github close [issue link]
  14. Reopen an Issue (이슈 열기)
    /github reopen [issue link]
  15. Adjust settings for mute/unmute rich previews for links shared in this channel (메세지 링크 프리뷰 제거 및 활성화)
    /github settings
  16. Show this help message
    /github help
  17. Create a new issue (이슈 생성)
    /github open owner/repository

4. 구독하기

팀에게 필요한 기능을 생각해보고 위에서 알맞은 명령어를 찾아 채널에서 입력해주면된다.

예시 wantedPreOnboarding 조직 채널에서 커멘트만 구독하기

  1. (5번 명령어 입력) /github subscribe wantedPreOnboarding comments

    기본적으로 모든 구독 명령어는 디폴트로 '이슈, 풀리퀘, 커밋, 릴리즈, 배포' 5개를 포함한다. 따라서 옵션으로 comments를 추가하면 6개의 항목을 구독하게 된다.

    추가 옵션:
    reviews - 풀리퀘에 작성된 리뷰
    comments - 이슈 혹은 풀리퀘에 달린 댓글
    branches - 브랜치 생성 혹은 삭제
    commits:all - 모든 브랜치에서 발생한 커밋 
  2. (6번 명령어 입력) /github unsubscribe wantedPreOnboarding issues, pulls, commits, releases, deployments

    필요없는 5개의 기본 구독 옵션을 제거해주면 커멘트만 구독하는 채널을 생성할 수 있다.

결과

profile
Front 💔 End

0개의 댓글