ADVERTISEMENT

【Slack】Webhook通知が突然止まった時の再設定手順

【Slack】Webhook通知が突然止まった時の再設定手順
🛡️ 超解決

SlackのIncoming Webhookを利用して外部サービスから通知を受け取っている場合、ある日突然通知が届かなくなることがあります。原因はWebhook URLの無効化、アプリの権限変更、IP制限など多岐にわたります。本記事では、通知が止まった原因を効率的に切り分け、迅速に再設定を行うための手順を詳しく解説します。会社PCで作業する際に管理者権限が必要なケースや注意点についても触れますので、実務に役立ててください。

【要点】この記事で確認すること

  • 最初に見る場所: Slack App管理ページ(api.slack.com)の「Installed Apps」で該当Webhookアプリのステータスを確認します。ステータスが「Active」でなければ再設定が必要です。
  • 切り分けの軸: 送信元サービス側のエラーログ、Slack側の設定(Webhook URLの有効性・アプリの権限・ワークスペース設定)、ネットワーク制限(IP制限・プロキシ)の3つで切り分けます。
  • 注意点: 会社PCでSlackアプリのインストール権限がない場合は、管理者に新しいWebhook URLを生成してもらい、送信元サービスに設定を依頼してください。また、既存のWebhook URLを再利用する際は、有効期限やチャンネルの変更に注意が必要です。

ADVERTISEMENT

Webhook通知が止まる主な原因

原因1: Webhook URLの無効化

Slack APIの管理画面でWebhook URLが無効化されている場合があります。これは、アプリの再インストールやトークンの再発行、ワークスペースの設定変更などによって発生します。また、一定期間使用されていないWebhook URLが自動的に無効化されることもあります。

原因2: アプリの権限変更

Slackアプリに割り当てられているOAuthスコープ(権限)が変更されたり、アプリが削除されたりすると、Webhookが機能しなくなります。特に、管理者がアプリの権限を再設定した場合に発生しやすいです。

原因3: ワークスペースの設定変更

ワークスペース全体の設定で、Incoming Webhookが無効化されている場合があります。また、IP制限がかかっている場合、送信元のIPアドレスが許可リストに含まれていないと通知がブロックされます。

原因4: 送信元サービスの仕様変更

連携している外部サービス(監視ツール、CI/CDツール、CMSなど)のアップデートにより、Webhookの送信方法やエンドポイントの形式が変更されることがあります。この場合、Slack側の問題ではなくサービス側の問題です。

最初に確認すべきこと(切り分け手順)

通知が止まったら、まずは以下の3ステップで原因を切り分けます。これにより、Slack側の問題なのか送信元サービス側の問題なのかを特定できます。

  1. 送信元サービスのエラーログを確認する:多くのサービスはダッシュボードやログにWebhook送信の成否を記録しています。エラーコード(例: 404, 403)やタイムアウトが記録されていれば、その情報を元に原因を特定できます。
  2. SlackのApp管理画面でアプリの状態を確認する:api.slack.comにアクセスし、該当のアプリを選択します。「Installed Apps」タブでステータスが「Active」であること、Webhook URLが有効であることを確認します。
  3. テスト通知を手動で送信する:送信元サービスでテスト機能があれば実行します。なければ、curlコマンドなどを使って直接Webhook URLにPOSTリクエストを送信し、レスポンスを確認します。成功すればSlack側は正常で、送信元サービスの設定の問題です。

Webhookの再設定手順(Slack App Directoryから)

新しいWebhook URLを生成して再設定する手順です。PCブラウザからSlack APIサイトを使用します。管理者権限がない場合は、管理者に依頼してください。

  1. ブラウザでapi.slack.com/appsにアクセスし、該当のワークスペースでログインします。
  2. 画面上部の「Create New App」をクリックし、アプリ名とワークスペースを選択します。既存のアプリを再利用する場合は、リストから選択します。
  3. 左メニューの「Incoming Webhooks」を選択し、機能を「On」に切り替えます。既存のWebhook URLがあれば一覧に表示されます。
  4. 「Add New Webhook」をクリックし、通知を投稿するチャンネルを選択して許可します。生成されたWebhook URLをコピーします。
  5. 送信元サービスの設定画面で、新しいWebhook URLに置き換えます。サービスのマニュアルに従って保存します。
  6. テスト通知を送信し、Slackの該当チャンネルにメッセージが届くことを確認します。届かない場合は、手順2に戻って権限や設定を見直します。

既存のWebhook URLを再利用する方法(トラブルシューティング)

既存のWebhook URLが無効化されていない場合、再利用できます。ただし、URLが無効化されている場合や、アプリ自体が削除されている場合は新しいURLが必要です。

以下の表は、原因別の症状と対処法をまとめたものです。自分の状況に当てはめて確認してください。

原因 症状 確認方法 対処法
Webhook URL無効化 送信元サービスに404エラーが記録される Slack API管理画面で該当URLのステータスを確認 新しいWebhook URLを生成して設定
アプリの権限不足 403エラーが返る アプリのOAuthスコープに「incoming-webhook」が含まれているか確認 スコープを追加してアプリを再インストール
IP制限 接続タイムアウト ワークスペースのIP制限設定を確認(管理者のみ) 送信元IPを許可リストに追加
送信元サービスの変更 エラーコードが不明瞭 サービスのリリースノートやサポートに問い合わせ サービス側の設定マニュアルに従って再設定

よくある失敗パターンと対処法

WordPressプラグインからの通知が届かない

WordPressのプラグイン(例: WP Webhooks)でSlack通知を設定している場合、プラグインのアップデートで設定がリセットされたり、Webhook URLが変わったりすることがあります。まずはプラグインの設定画面でURLが正しいか確認し、必要に応じて再設定してください。

監視ツール(Datadog, Nagiosなど)の通知が突然止まった

監視ツール側でWebhookの送信先が変更されていたり、APIキーが期限切れになっていることがあります。また、Slack側でアプリの権限が変更された場合も発生します。ツールの管理画面でWebhook設定を確認し、Slack側では上記の手順でアプリの状態を点検してください。

自作スクリプトからの通知が失敗する

curlやWebフレームワークを使って自作したスクリプトの場合、エラーハンドリングが不十分で失敗に気づかないことがあります。スクリプトのログを確認し、HTTPレスポンスコードを取得して原因を特定してください。特に、スラッシュのエスケープや改行コードの扱いに注意が必要です。

管理者に確認すべき設定項目

IP制限の設定

会社のネットワークポリシーによって、Slackへのアクセスが特定のIPアドレスに制限されている場合があります。送信元サービスが外部のクラウドサービスである場合は、そのサービスのIPアドレス範囲を許可リストに追加する必要があります。ワークスペースの管理者に依頼してください。

OAuthスコープの確認

アプリに必要なOAuthスコープが正しく設定されているか確認します。「incoming-webhook」スコープが不足している場合、Webhookは動作しません。アプリの管理者がSlack API管理画面でスコープを追加し、再インストールする必要があります。

カスタム統合の許可

ワークスペースの設定で「カスタム統合の許可」が無効になっている場合、Incoming Webhookを含むカスタム統合が使用できません。管理者がSlackの管理画面で「設定」→「カスタム統合」を確認し、有効にする必要があります。

まとめ

SlackのWebhook通知が突然止まった場合、まずは送信元サービスのログを確認し、Slack側のアプリ管理画面でWebhook URLの有効性をチェックしてください。原因が特定できたら、新しいWebhook URLを生成して再設定するか、既存の設定を修正します。会社PCで作業する際は、管理者権限が必要な設定があることを念頭に置き、必要に応じて管理者に協力を仰ぎましょう。再発防止のためには、Webhook URLを定期的に点検し、送信元サービスのアップデート情報を把握しておくことが重要です。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT