본문으로 바로가기

Contents

    개요

    Github Action의 다양한 이벤트를 Slack으로 발송하기 위해 기존에는 발송 전용 Workflow를 두고 관리했지만 Github에서 공식적으로 제공하는 무료로 제공하는 애드온이 존재한다.

    해당 애드온이 제공해주는 기능, 설치법과 사용방법을 알아보자.

    기능

    해당 애드온을 설정하게 되면 다음과 같이 워크플로우의 진행 상황을 실시간으로 볼 수도 있고

     

    다음과 같이 PR 요청 및 PR Check의 진행 상황에 대해서도 확인할 수 있다.

    알람을 보낼 수 있는 Github Event 목록

    기본적으로 활성화 되어있는 Event들

    • issues
    • pulls
    • commits
    • releases
    • deployments

    기본적으로 비활성화 되어있고 명령어로 추가할 수 있는 Event들

    • workflows
    • reviews
    • comments
    • branches
    • commits:*
    • +label:<custom_label>
    • discussions

    설치

    1️⃣ Github에 애드온 추가

    1. https://github.com/marketplace/slack-github 에서 ‘Install it for free’ 클릭

    2. Billing 정보 입력 후 Save 클릭

    3. 이후 나오는 창에서 Complete order and begin installation 버튼 클릭

    4. 이후 나오는 창에서 Repository 선택 후 Install 클릭

    5. 이후 Github 계정의 패스워드를 입력하면 Github에 Install은 완료되었다.

    2️⃣ Slack에 Github App 추가

    1. 알람을 받기 원하는 채널에서 /invite @github로 Github 앱 추가

    2. Connect Github account 클릭

    3. 인증 이후 브라우저에 나오는 번호를 Enter code를 눌러서 연동

    4. 어떤 Repository에 대해 알람을 받을건지 /github subscribe owner/repo 를 Slack 채널에 입력하여 설정한다.

     

    이제 셋팅은 모두 완료되었다.

    Event 구독, 구독해제, 필터링 및 기타 명령어

    Slack에서 받고싶은 Event를 추가 지정 혹은 제외하거나 Event에 대한 필터링을 할 수 있다.

    해당 기능은 Slack 명령어로 설정할 수 있다.

    1️⃣ 구독, 구독해제

    • 구독
    /github subscribe owner/repo
    • 구독 해제
    /github unsubscribe owner/repo
    • 기능 활성화
    /github subscribe owner/repo workflows:{event:"workflow_dispatch"}
    • 기능 비활성화
    /github unsubscribe owner/repo deployments /github unsubscribe owner/repo commits, pulls, issues, deployments

    2️⃣ Event 필터링

    ✅ Workflow

    • 형식
    /github subscribe owner/repo workflows:{name:"your workflow name" event:"workflow event" branch:"branch name" actor:"actor name"}
    • 특정 workflow의 특정 event에 대해서만 필터링
    /github subscribe owner/repo workflows:{name:"미리캔버스 프론트 staging 빌드 & 배포" event:"workflow_dispatch"}

    ✅ Label

    • 특정 Label이 포함된 PR만
    /github subscribe owner/repo +label:"teams/designers"

    ✅ Commit

    • default 브랜치의 커밋만
    /github subscribe org/repo commits
    • 모든 커밋
    /github subscribe org/repo commits
    • 특정 브랜치에 대한 커밋만
    /github subscribe org/repo commits:develop

     

    3️⃣ 기타 명령어

    • 사용중인 기능 확인
    /github subscribe list features
    • PR 코멘트를 채널에 전송
    /github subscribe org/repo comments:"channel"
    • PR 리뷰를 채널에 전송
    /github subscribe org/repo reviews:"channel"

     

    'Devops > CICD' 카테고리의 다른 글

    [Spinnaker] Spinnaker 설치하기 (Local on Ubuntu)  (0) 2023.05.05