phpのコマンドラインからslackを飛ばすスクリプト
スポンサーリンク
さくらインターネットのレンタルサーバで、バックアップが失敗したときにアラートを飛ばしたかったのですが、curlコマンドで権限エラーっぽいのがでて作り込めなかったのでphpでやることにした。
[参考にさせて頂いた記事]
qiita.com
スクリプト
<?php $channel=$argv[1]; $message=$argv[2]; $username="monitor"; $webhook="ここにwebhookのURLを書きます。"; $post = array( 'url' => $webhook, 'body' => array( 'payload' => json_encode(array( 'channel' => $channel, 'username' => $username, 'icon_emoji' => $monitor, 'text' => $message )), ), ); $options = array( CURLOPT_URL => $webhook, CURLOPT_POST => true, CURLOPT_POSTFIELDS => $post["body"], CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => true, ); $ch = curl_init(); curl_setopt_array($ch, $options); $result = curl_exec($ch); $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $header = substr($result, 0, $header_size); $result = substr($result, $header_size); curl_close($ch);
実行方法
$ php slack.php "infra-backup" "hello"