Slackで通知するのは、slackのwebhookで簡単にできてしまう。
使うには、まずはSlackでteamを作る。 https://slack.com/
Slack設定
Slackのwebhookを使うために、webhookのurlを取得する。
Webhookのurl取得方法とAPIの使い方についてはこちら
https://api.slack.com/incoming-webhooks
正常にメッセージを作れているかを確認するためのMessage builderがこちら
https://api.slack.com/docs/messages/builder
これを使って、通知したいメッセージのformatが正常かどうかを確認する。
PHPで実行
これをPHPで実行するサンプルコードがこちら
https://gist.github.com/alexstone/9319715
これを改修して、使い方にあうように変更する。
WEBHOOK ENDPOINTのurlは上記のwebhookで取得したものを入れる。
アイコンは、slackで使われているものを使えば良い。
function slack($message, $channel = "general", $username = "", $icon = ":monkey_face:") { $data = "payload=" . json_encode(array( "channel" => "#{$channel}", "text" => $message, "username" => $username, "icon_emoji" => $icon )); // You can get your webhook endpoint from your Slack settings $ch = curl_init("WEBHOOK ENDPOINT GOES HERE"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch); return $result; }
メッセージの改行は “\n”
PHP実行例
slack('通知テスト2', 'orders', '〇〇bot', ':hankey:' );