Github Action과 Slack 연동해서 빌드 결과 받기

김준석·2021년 4월 30일
5
post-thumbnail

Reposipory

이제 빌드 결과를 Slack으로 받아보자.

Action-Slack

action-slack을 사용해서 빌드 결과를 받아올 수 있다.

You can notify slack of GitHub Actions.

한 번 사용해보자. 먼저 여기에 들어가서 Create New App를 누르고, 본인이 원하는 App NameDevelopment Slack Workspace를 선택해서 만들어준다. 그럼 다음과 같은 화면이 나온다.

image

만약 길을 잃었다면 우측에 SettingsBasic Information을 클릭하고 Add features and functionality를 클릭하면 다음과 같이 나온다.

먼저 Bots를 클릭해서 App Display Name을 만들자. (안 만드니까 Add New Webhook to Workspace를 눌렀을 때 만들라고 나옴...)

이제 Incoming WebHooks를 누르고 활성화를 시키자. 그리고 Add New Webhook to Workspace를 클릭하면 다음 화면이 나올 것이다.

image

Allow를 클릭하면 Webhook URL에 URL이 생긴다. 이제 URL을 Copy해서 Github으로 가자.

image

SettingsSecrets에 가서 New repository secret을 누른다.

image

NameSLACK_WEBHOOK_URL을 넣고, Value에 아까 Copy한 URL을 넣으면 된다.

이제 yml파일을 작성해보자.

name: Java CI with Gradle

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up JDK 8
      uses: actions/setup-java@v2
      with:
        java-version: '8'
        distribution: 'adopt'
    - name: Grant execute permission for gradlew
      run: chmod +x gradlew
    - name: Build with Gradle
      run: ./gradlew build

    - name: action-slack
      uses: 8398a7/action-slack@v3
      with:
        status: ${{ job.status }}
        author_name: Github Action Test # default: 8398a7@action-slack
        fields: repo,message,commit,author,action,eventName,ref,workflow,job,took
      env:
        SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required
      if: always() # Pick up events even if the job fails or is canceled.

이제 기본 세팅이 끝났다. 한 번 확인해보자.

image

잘 동작하는 것을 확인할 수 있다. author_namefields 설정은 위 그림으로 어떤 설정인지 유추할 수 있으니... 설명은 생략한다.

참고자료

action-slack

노아론블로그

profile
내 몸에는 꼰대의 피가 흐른다.

2개의 댓글

comment-user-thumbnail
2021년 10월 28일

감사합니다!! 덕분에 빨리 해결했네요 ㅠㅠ 🙇‍♂️

답글 달기
comment-user-thumbnail
2023년 7월 8일

좋은정보 감사합니다 🙇‍♂️

답글 달기