こんにちは、さるまりんです。
仕事で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以外でも応用できますね。
フレームワークが簡単にしてくれているかもしれないのでそれらもまたみてみたいと思います。
読んでくださってありがとうございました。
それではまた!