コンテンツにスキップ
Zenn Dev Snowcait Articles A8fe50fac7125c

GitHub Actions から各プラットフォームへの通知方法まとめ

  • URL: https://zenn.dev/snowcait/articles/a8fe50fac7125c
  • 日付: 2026-06-26
  • Tier: Tier 3
  • 要旨: GitHub Actions から各種プラットフォームへ通知を送る方法を、公式アクション・公式アプリ・サードパーティアクション・Webhook の優先順位で整理した比較記事。GitHub CLI はランナーにプリインストール済みで追加設定不要。Slack は公式アクション(slackapi/slack-github-action)が提供されており、API・Incoming Webhook・ワークフロービルダーの 3 方式に対応。Microsoft Teams は公式アプリがあるがサードパーティアクションは Docker や古い Node.js 版が多く選択肢が限られる。Nostr・Bluesky・Discord・Chatwork はサードパーティアクションが利用可能で、コード例が示されている。

詳細

選定方針: 公式アクション・公式アプリを優先。Docker アクションと Node.js 12 のアクションは除外。テキスト自由入力できるものを選定。

プラットフォーム別の対応状況:

  • GitHub: gh CLI がプリインストール済み。gh pr comment などで投稿できる
  • Slack: slackapi/slack-github-action@v1.23.0(API・Incoming Webhook・ワークフロービルダー対応)
  • Microsoft Teams: 公式アプリあり(GHEC対応、GHES 3.8でGA予定)。サードパーティアクションは選択肢が少ない
  • Yammer: API 経由のみ。サードパーティアクションはゼロ
  • Chatwork: okuzawats/chatwork-messaging-action@v1.0(apiToken と roomId が必要)
  • Discord: stegzilla/discord-notify@v2(Webhook URL で設定)
  • Twitter/X: snow-actions/tweet@v1.4.0(Consumer API Key と Access Token が必要)
  • LINE: Docker アクションや古い JavaScript アクションが多く実用的な選択肢なし
  • Nostr: snow-actions/nostr@v1.0.0(リレーと秘密鍵で設定)
  • Bluesky: rg-wood/bluesky-post-action@v1(識別子とアプリパスワードで設定)

全アクションに if: ${{ always() }} を設定するとジョブ失敗時も通知できる。