LoginSignup
0
0

More than 3 years have passed since last update.

LaravelのSlack Notificationにproxyを通す

Last updated at Posted at 2018-11-09

Slack NotificationでProxyを使うには?

はじめに

Laravel付属のSlackの通知を仕組みを使おうと思ったら、proxyに阻まれました。Slack通知にproxyを設定をする方法をメモっておきます。

使ったもの

php artisan --version
Laravel Framework 5.4.32

答え

このように書くのが正解。SlackMesasgeクラスにhttpメソッドがあった。

return (new SlackMessage)
        ->success()
        ->content('message')
        ->http( $guzzle_option );

Guzzleのオプションの組み立て方は、こちらへ
http://docs.guzzlephp.org/en/stable/request-options.html#proxy

調べたこと

まずはエラーメッセージ

Slackに投げてみたらこんなエラーが。。。Slack通知は内部的にGuzzleを使っているのだけど、SlackMesasgeを組み立てる過程ではGuzzleのインスタンスは出てこない。どうしたものか。。。

  [GuzzleHttp\Exception\ConnectException]
  cURL error 7: Failed to connect to hooks.slack.com port 443: Timed out (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

ヒント見つけた

ググってたらこのスレッドにたどり着き、
https://github.com/laravel/framework/issues/15837

そしてここにたどり着く
https://github.com/laravel/framework/pull/15882

SlackMessageにoptionsメソッド。。だと。早速、実行してみると、

[Symfony\Component\Debug\Exception\FatalThrowableError]
  Call to undefined method Illuminate\Notifications\Messages\SlackMessage::options()

なんでや。

履歴を追いかけたらわかりました。
昔はoptionsという名前だったのですが、今はhttpというメソッド名前になったようです。

参考にした資料

LaravelでSlack通知を実装する~ソーシャルではなく開発者/管理者としてのSlack通知~
https://www.ritolab.com/entry/110

Laravel5.3 NotificationsでSlackに通知してみる
https://qiita.com/amymd/items/2616368bf3969ecb1aaf

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0