LaravelからSlack通知の基本

LaravelからSlackに通知することができます。

公式サイトにも記載がありますが、少しわかりにくいので、

色々と調べながらやったので、共有しておきます。

前提

Laravelのバージョン

$ php artisan --version
Laravel Framework 5.8.36

SlackのWebhook URLを準備

Slackへ通知を行うために、Slack APIの中で、
Incoming WebhooksをActiveにする必要がある。

公式リファレンスを確認

関係しそうなところをピックアップ

通知用のフォルダなどを作る

上記で、まずは、
必要なNotificationsのフォルダ、ファイルを作る

Slack通知用に必要なモジュール追加

Slack通知使うには、必要なので、composerで追加。

SlackのWebhook URLを設定

Slack通知のための「Webhook URL」を、
App\Userにメソッドを追加する。

送信内容の設定のためのメソッドを追加

最初に作ったNotificationsのファイル(クラス)に、
上のように「toSlackメソッド」を追加。

通知の送信

2パターンやり方があるらしいが、
「Notifiableトレイとの使用」
の方のやり方で自分は対応した。

上記の解釈としては、黄色と水色に分けるとわかりやすいと思う。

App\Userモデルのnotifyメソッドに、
Notificationsの中に作ったクラスのインスタンスを渡すだけ。

実際のソースコード

実際のソースコードがあった方が良いと思うので、
簡単に設定して通知確認したくらいのコードを載せておきます

 :
use App\Notifications\Slack;
use App\User;
 :
Artisan::command('slack', function () {
  $user = new User();
  $user->notify(new Slack());
});
 :
use App\Notifications\Slack;
use App\User;
 :
Artisan::command('slack', function () {
  $user = new User();
  $user->notify(new Slack());
});
 :
use App\Notifications\Slack;
use App\User;
 :
Artisan::command('slack', function () {
  $user = new User();
  $user->notify(new Slack());
});
 :
use App\Notifications\Slack;
use App\User;
 :
Artisan::command('slack', function () {
  $user = new User();
  $user->notify(new Slack());
});
php artisan slack

実行すると、こんな感じで通知がくる

これでうまく動いているので、オッケー

Laravelを書籍で学ぼう

  • 入門者にも分かりやすい文章
  • 基本から理解する
  • ルールも理解

プロフィール

学ぶパンダ

初心者向けにプログラミング学習や

就職・転職に向けた情報を発信

独学向け(勉強方法)
独学向け(プログラミング)
独学向け(Webデザイン)
独学向け(javaScript)
独学向け(PHP/Laravel)
独学向け(Ruby/Rails)