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:' );

