Github actionsからslackへ投稿する

Github actionsからSlackへ投稿するための連携手順です。

Slack側の設定

Slack APIへアクセス。
「Create New App」をクリック。

f:id:alex0715:20191204172224p:plain

モーダル画面の「App Name」に任意の名前(画像では「GitHub Action」)を入力。
「Development Slack Workspace」に連携させたいワークスペースを選択し「Create App」をクリック。

f:id:alex0715:20191204173534p:plain

サイドバーから「Bot Users」を選択し、「Display name」と「Default username」に任意の名前を入力。

f:id:alex0715:20191204174051p:plain

サイドバーから「Basic Information」を選択し、「Display Information」で好きなアイコンを設定。
ちなみにここでフリーで提供されています。

f:id:alex0715:20191204180818p:plain

「Basic Information」画面上部の「Install your app to your workspace」から「Install App to Workspace」をクリック。

f:id:alex0715:20191204181036p:plain

サイドバーの「OAuth & Permissions」から「Bot User OAuth Access Token」を確認する。(github actionの設定で使うので)

f:id:alex0715:20191204182107p:plain

Github Actionの設定

対象のリポジトリにいって、「Actions」タブをクリック。

f:id:alex0715:20191204185153p:plain

「New workflow」をクリックして、画面遷移後の「Set up a workflow yourself」をクリック。

f:id:alex0715:20191204185443p:plain

適当な名前でymlを作成。

name: Notify slack

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
      - name: Notify slack
        env:
          SLACK_BOT_TOKEN: xoxb-XXXXXXXX-XXXXXXXXX-XXXXXXXXX
        uses: pullreminders/slack-action@master
        with:
          args: '{\"channel\":\"C123456789\",\"text\":\"Hello world\"}'

pushされたタイミングで連携したslackのworkspaceのチャンネル(C123456789)に対して、「Hello world」と投稿する例です。

画面右上の「Start commit」をクリックし、直接デフォルトブランチにcommitするのか、新しくブランチを作成してcommitするのか選べます。

その後すぐにSlackに投稿されます。 f:id:alex0715:20191204221216p:plain

参考

github.com