github에서 discord에 알림을 보내는 방법

최근 리모트 워크에서의 커뮤니케이션 수단이 slack에서 discord로 이행하는 커뮤니티나 회사가 나의 주위에서 깜짝 놀라 왔으므로, github의 Activity를 Discord에 통지하는 방법을 정리해 둡니다. (정리할 정도도 아닐 정도로 간단했습니다만)

github action 만들기



다음 파일을 github 리포지토리에 만듭니다. github은 무료 플랜에서도 github actions를 사용할 수 있게 된 것과, Discord의 Notification용의 Action이 벌써 공개되고 있었으므로, 이쪽을 이용합니다.

다음 설정은 PR 또는 master에 코드가 푸시되었을 때 Discord의 특정 채널에 알림이 날아가는 설정입니다.

.github/workflows/discord.yml

name: Discord Message Notify

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

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: Discord Message Notify
      uses: appleboy/[email protected]
      with:
        webhook_id: ${{ secrets.WEBHOOK_ID }}
        webhook_token: ${{ secrets.WEBHOOK_TOKEN }}
        color: "#48f442"
        username: "GitHub Bot"
        args: The ${{ github.event_name }} event triggered.



Discord에서 webhook URL 게시



Discord의 Server Settings에서 Webhook URL을 게시할 수 있습니다.



발행된 Webhook URL은 다음과 같이 ID와 TOKEN으로 구성되어 있으므로 각각 추출하여 Github repository의 Settings의 Secrets에서 설정합니다.
https://discordapp.com/api/webhooks/{WEBHOOK_ID}/{WEBHOOK_TOKEN}

검증하다



실제로 코드를 Github 리포지토리의 마스터 브랜치로 푸시하여 알림이 날아가는지 확인합니다.
성공하면 다음과 같은 메시지가 Discord channel에 게시됩니다.



이상입니다!

좋은 웹페이지 즐겨찾기