🔖

SlackにWebhooksで通知を送る方法

2024/06/10に公開

Webhooksとは

イベントが発生した際に他のシステムへリアルタイムで通知を送る方法です。

通常のAPIリクエストでは、データを取得するためにサーバーへリクエストを送信します。しかし、Webhooksでは逆のプロセスが行われます。設定されたイベントが発生すると、あらかじめ設定されたエンドポイントにデータがプッシュされます。

これにより、イベント駆動型の処理が可能となり、リアルタイムでデータを同期したり、反応したりすることができます。

SlackのWebhook取得

下記リンクにアクセスしてください。
https://slack.com/signin?redir=%2Fservices%2Fnew%2Fincoming-webhook%3Ftype%3Dincoming-webhook#/signin

チャンネルを選択し、インテグレーションを追加するを押してください。

黒枠の部分にWebhook URLが表示されています。

メッセージを通知

今回は下記の記述をLambda(Node.js)に追記して、実行時にSlackに通知が来るか確認します。

const webhookUrl = process.env.WEBHOOK_URL;  
const slackResponse = await fetch(webhookUrl, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
        username: "AWS Lambda通知",
        text: "イベントが実行されました。"
    })
});

指定したチャンネルに通知が来ていることを確認してください。

終わりに

何かありましたらお気軽にコメント等いただけると助かります。
ここまでお読みいただきありがとうございます🎉

Discussion