Masayan tech blog.

  1. ブログ記事一覧>
  2. PHPのプログラムからcurlでSlackに通知を送る方法

PHPのプログラムからcurlでSlackに通知を送る方法

公開日

環境

  • windows10
  • DockerDesktop for Win 3.5.x
  • PHP 8.x
  • VsCode
  • gitbash 2.32.0.1

動作イメージ

シェルスクリプトでもよく使われるcurlに相当するメソッドがPHP上に存在するので、こちらを使用してPHPプログラム上から通知を送る

設定手順

slackを開き、サイドバーのAppを選択(ない場合はその他から表示する)

Incoming Webhookを選択

設定を選択

Slackに追加を選択

通知先のチャンネルを選択してインテグレーションの追加を選択

Webhook URLが発行されるので、あとはメッセージの送り方の箇所を参考にしてメッセージを送信することが可能。

設定例(PHP)

実際は、通知クラスとそれを実行するクラスに分割して作成する等になると思いますが、例なのでそのあたりは割愛..

<?php

$url = "先ほど確認したwebhookurl"
$message = [
  "channel" => "#チャンネル名",
  "text" => "メッセージ内容"
];

$ch = curl_init();

$options = [
  CURLOPT_URL => $url,
  // 返り値を文字列で返す
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_SSL_VERIFYPEER => false,
  // POST
  CURLOPT_POST => true,
  CURLOPT_POSTFIELDS => http_build_query([
    'payload' => json_encode($message)
  ])
];

curl_setopt_array($ch, $options);
curl_exec($ch);
curl_close($ch);

以上です。これだけでプログラムから通知を送ることができるようになります。

まとめ

いかがでしたでしょうか。本記事では、PHPのプログラムからcurlでSlackに通知を送る方法について紹介しています。簡単なプログラムを書くだけで通知を実装できますのでぜひ参考にしてみてください。