PHPでSlackにメッセージを送る方法

こんにちは、さるまりんです。

仕事でSlackを使うこと多いですよね。いろんな形で活用されていると思います。

今回はPHPのプログラムからこのSlackのチャンネルにメッセージを送ってみたいと思います。

Slackのincoming webhooksの仕組みを使うとこれを実現できます。

まずはこちら(https://api.slack.com/messaging/webhooks)にある方法で

https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

のような、webhookのURLを取得します。

そのURLにPOSTでメッセージを送ることになります。
フレームワークの仕組みを使う方法もあるかと思いますが、今回はシンプルにcurlでやってみます。

本当にシンプルなサンプルコードです。

// メッセージです。$textに送信したい内容があります。
$message = [
    "text" => $text,
];

// 送信 $urlにwebhookのURLを設定します。
$ch = curl_init();
$options = [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => http_build_query([
        'payload' => json_encode($message)
        ])
    ];
curl_setopt_array($ch, $options);
curl_exec($ch);
curl_close($ch)

エラーが発生した時の監視、申し込みがあった時の通知、いろんなことに活用できそうです。
内容をPOSTするだけなので、PHP以外でも応用できますね。
フレームワークが簡単にしてくれているかもしれないのでそれらもまたみてみたいと思います。

読んでくださってありがとうございました。

それではまた!