2022.07.03   2022.07.03

【GitHub Actions】Slack通知を行う

Git    

次のように記載するとGithubActionsでSlack通知を行うことができます。

このフローはtestブランチがプッシュされた時echoコマンドが実行され、その成否によってSlack通知の内容が変わるようになっています。

# 任意の名前(Action名)を設定する
name: "Slack-notice"

on:
  push:
    branches:
      - test  # 使用しているブランチ名

permissions:
  id-token: write
  contents: read

jobs:
  deploy:
    environment:
      name: test-env # githubのsetting -> environment で作成した環境名

    runs-on: ubuntu-latest

    defaults:
      run:
        shell: bash

    steps:
      # echoコマンドの実行 
      - name: Exec echo
        run: echo "test"

      # Slack通知を行う処理
      - name: Failure notification
        uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
        if: ${{ failure() }}
        env:
         # SLACK_WEBHOOK_URLはgithubのsetting -> environment で作成した環境名のsecretsで設定する
          SLACK_WEBHOOK:    ${{ secrets.SLACK_WEBHOOK_URL }}  
          SLACK_COLOR:      '#dc143c'  # 赤色の枠で通知が届く
          SLACK_MESSAGE:     | 
            処理に失敗しました。
            ログを確認してください。

      - name: Succsess notification
        uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
        if: ${{ success() }}
        env:
         # SLACK_WEBHOOK_URLはgithubのsetting -> environment で作成した環境名のsecretsで設定する
          SLACK_WEBHOOK:    ${{ secrets.SLACK_WEBHOOK_URL }}  
          SLACK_MESSAGE: | 
            処理に成功しました。

補足

environmentとsecrets

environment:name: には github画面上で対象リポジトリのsetting -> environment で作成した環境名を設定します。

environmentではコード上に書きたくない変数を設定でき、今回はSLACK_WEBHOOK_URLに実際のWEBHOOK_URLを設定しています。

Slack通知の条件分岐

uses: rtCamp/action-slack-notifyでは、if: ${{ failure() }}if: ${{ success() }}などと定義すると、ワークフローの成否によってSlackに通知する内容を変更できます。

コメント
現在コメントはありません。
コメントする
コメント入力

名前 (※ 必須)

メールアドレス (※ 必須 画面には表示されません)

送信