最近リモートワークでのコミュニケーション手段がslackからdiscordに移行するコミュニティや会社が僕のまわりでちらほらでてきたので、githubのActivityをDiscordに通知する方法をまとめておきます。(まとめるほどでもないぐらい簡単でしたが)
github actionを作る
以下のファイルを githubのリポジトリに作成します。githubは無料プランでもgithub actionsが使えるようになったのと、DiscordのNotification用のActionがすでに公開されていたので、こちらを利用します。
以下の設定は、PRまたはmasterへコードがpushされた時にDiscordの特定のチャンネルに通知が飛ぶような設定です。
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/discord-action@0.0.3
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 repositoryのmaster branchにpushしてみて通知が飛ぶかどうかを確認します。
成功すれば以下のようなメッセージがDiscordのchannelに投稿されるはずです。
以上です!