[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-cats-ngidenet":3,"blog-detail-ngidenet-laravel-notification-bagaimana-cara-mengirim-pesan-ke-slack-dengan-laravel":20},{"items":4},[5,9,13,17],{"name":6,"slug":7,"count":8},"Digital Marketing","digital-marketing",41,{"name":10,"slug":11,"count":12},"Programming","programming",56,{"name":14,"slug":15,"count":16},"Tips","tips",75,{"name":18,"slug":19,"count":8},"Web Development","web-development",{"id":21,"slug":22,"title":23,"short_text":24,"excerpt":24,"cover":25,"cover_image":25,"cover_alt_text":25,"category":10,"tags":26,"published_at":27,"created_at":28,"full_text":29,"meta_title":25,"meta_description":30,"faqs":31,"images":32,"views_count":33},376,"laravel-notification-bagaimana-cara-mengirim-pesan-ke-slack-dengan-laravel","Laravel Notification: Bagaimana cara mengirim pesan ke slack dengan Laravel?","Agus Yusida May 18, 2018 Laravel sudah memasuki versi yang paling terbaru yaitu versi 5.6. Sejak Laravel versi 5.3 sudah di perkenalkan tentang Notification driver yang mempermudah kita untuk mengirim",null,[],"2019-09-19T16:00:00Z","2026-07-14T04:39:34.759650Z","\u003Cimg alt=\"\" src=\"data:image\u002Fgif;base64,R0lGODlhAQABAIAAAAAAAP\u002F\u002F\u002FyH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"\u002F>  \u003Cimg alt=\"Go to the profile of Agus Yusida\" src=\"http:\u002F\u002F0.gravatar.com\u002Favatar\u002Fc0b0eeb94d5a7fd159a09fd4a506d27b?s=96&amp;d=mm&amp;r=g\"\u002F>  Agus Yusida May 18, 2018\u003Cp>Laravel sudah memasuki versi yang paling terbaru yaitu versi 5.6. Sejak Laravel versi 5.3 sudah di perkenalkan tentang Notification driver yang mempermudah kita untuk mengirim notifikasi atau pesan ke beberapa channel seperti email, sms, slack ataupun custom channel seperti voice dan yang lainnya. \u003C\u002Fp>\u003Cp>Kali ini kita akan memanfaatkan salah satu channel yaitu Slack untuk mengirim pesan kepada semua tim jika terjadi error di dalam aplikasi kita. Sehingga nantinya, jika terjadi error bisa lebih cepat di perbaiki oleh anggota tim.\u003C\u002Fp>\u003Ch3>1. Create slack room\u003C\u002Fh3>\u003Cp>Jika kalian belum mempunyai slack room, kalian bisa daftar dulu dengan mengunjungi halaman ini: \u003Ca href=\"https:\u002F\u002Fslack.com\u002Fcreate#email\">Register Slack\u003C\u002Fa> atau jika sudah kalian bisa skip ke langkah yang kedua.\u003C\u002Fp>\u003Cfigure>\u003Cimg alt=\"\" src=\"data:image\u002Fgif;base64,R0lGODlhAQABAIAAAAAAAP\u002F\u002F\u002FyH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"\u002F>\u003C\u002Ffigure>\u003Ch3>2. Add Incoming webhook app\u003C\u002Fh3>\u003Cp>Di dalam room slack kalian, tambahkan cari dan tambahkan app yang bernama Incoming Webhook.\u003C\u002Fp> \u003Cfigure>\u003Cimg alt=\"\" src=\"data:image\u002Fgif;base64,R0lGODlhAQABAIAAAAAAAP\u002F\u002F\u002FyH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"\u002F>\u003C\u002Ffigure>\u003Cp>Nanti dengan app ini kita akan membuat sebuah url webhook yang di pakai untuk mengirim pesan dari laravel ke slack.\u003C\u002Fp>\u003Cp>Pilih channel default channel mana yang akan di pakai\u003C\u002Fp>\u003Cfigure>\u003Cimg alt=\"\" src=\"data:image\u002Fgif;base64,R0lGODlhAQABAIAAAAAAAP\u002F\u002F\u002FyH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"\u002F>\u003C\u002Ffigure>\u003Cp>Get webhook url\u003C\u002Fp>\u003Cfigure>\u003Cimg alt=\"\" src=\"data:image\u002Fgif;base64,R0lGODlhAQABAIAAAAAAAP\u002F\u002F\u002FyH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"\u002F>\u003C\u002Ffigure>\u003Cp>Simpan webhook URL tersebut di .env dengan nama SLACK_URL yang nantinya akan kita gunakan.\u003C\u002Fp>\u003Ch3>3. Buat sebuah class notification baru\u003C\u002Fh3>\u003Cp>Sebelumnya, untuk bisa mengirim pesan ke slack kita butuh Library tambahan yaitu Guzzle. Jika belum terinstall, kalian bisa install dulu dengan menjalankan command ini:\u003C\u002Fp>\u003Cp>\u003Ccode>composer require guzzlehttp\u002Fguzzle\u003C\u002Fcode>\u003C\u002Fp>\u003Cp>Selanjutnya buat sebuah class dengan nama \u003Ccode>ErrorNotification\u003C\u002Fcode>. Kalian bisa membuatnya dengan perintah artisan:\u003C\u002Fp>\u003Cp>\u003Ccode>php artisan make:notification ErrorNotification\u003C\u002Fcode>\u003C\u002Fp>\u003Cp>Setelah itu buka file \u003Ccode>ErrorNotification.php\u003C\u002Fcode>  dan sesuaikan isinya seperti di bawah ini:\u003C\u002Fp>\u003Cpre>\u003Ccode>&lt;?php\nnamespace AppNotifications;\nuse IlluminateBusQueueable;\nuse IlluminateNotificationsNotification;\nuse IlluminateContractsQueueShouldQueue;\nuse IlluminateNotificationsMessagesSlackMessage;\nclass ErrorNotification extends Notification\n{\n    use Queueable;\n    \u002F**\n     * Create a new notification instance.\n     *\n     * @return void\n     *\u002F\n    public function __construct()\n    {\n        \u002F\u002F\n    }\n    \u002F**\n     * Get the notification's delivery channels.\n     *\n     * @param  mixed  $notifiable\n     * @return array\n     *\u002F\n    public function via($notifiable)\n    {\n        return ['slack'];\n    }\n    \u002F**\n     * Get the mail representation of the notification.\n     *\n     * @param  mixed  $notifiable\n     * @return IlluminateNotificationsMessagesMailMessage\n     *\u002F\n    public function toSlack($notifiable)\n    {\n        return (new SlackMessage)\n                    -&gt;from('laravel', ':ghost:')\n                    -&gt;to('#general')\n                    -&gt;content('Hello, my first slack message send from laravel.');\n    }\n    \u002F**\n     * Get the array representation of the notification.\n     *\n     * @param  mixed  $notifiable\n     * @return array\n     *\u002F\n    public function toArray($notifiable)\n    {\n        return [\n            \u002F\u002F\n        ];\n    }\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Nah sekarang kita test dulu notification tersebut apakah sudah bisa jalan atau tidak. \u003C\u002Fp>Rekomendasi:  Membuat Invoice PDF di Laravel dengan DOMPDF\u003Cp>Caranya?\u003C\u002Fp>\u003Cp>Buka file routes \u003Ccode>web.php\u003C\u002Fcode> dan tambahkan sebuah route baru seperti di bawah ini\u003C\u002Fp>\u003Cpre>\u003Ccode>Route::get('web', function () {\n    Notification::route('slack',env('SLACK_URL'))\n    -&gt;notify(new AppNotificationsErrorNotification());\n});\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Ingat buat variable  SLACK_URL di .env yang nilainya webhook url yang kita buat tadi.\u003C\u002Fp>\u003Cp>Silakan buka di browser http:\u002F\u002Flocalhost:8000\u002Fslack atau url sesuai local domain kalian\u003C\u002Fp>\u003Cp>Jika tidak terjadi kesalahan, maka kalian akan mendapatkan sebuah pesan baru di slack room seperti di bawah ini:\u003C\u002Fp>\u003Cfigure>\u003Cimg alt=\"\" src=\"data:image\u002Fgif;base64,R0lGODlhAQABAIAAAAAAAP\u002F\u002F\u002FyH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"\u002F>\u003C\u002Ffigure>\u003Cp>Yup, sekarang kita sudah berhasil mengirim pesan ke slack.\u003C\u002Fp> \u003Cp>Selanjutnya bagaimana caranya agar setiap ada error di aplikasi akan mengirim pesan ke slack.\u003C\u002Fp>\u003Cp>Buka lagi file \u003Ccode>ErrorNotification.php\u003C\u002Fcode> dan edit pada bagian \u003Ccode>__construct\u003C\u002Fcode> dan \u003Ccode>toSlack\u003C\u002Fcode> \u003C\u002Fp>\u003Cp>Karena kita ingin agar setiap ada error kita mengirimkan pesan, maka buka file \u003Ccode>appExceptionHandler.php\u003C\u002Fcode>\u003C\u002Fp>\u003Cp>Edit pada bagian menthod \u003Ccode>report\u003C\u002Fcode>\u003C\u002Fp>\u003Cp>Sekarang untuk mengetes apakah saat ada error aplikasi kita mengirim pesan ke slack, buat sebuah  error di aplikasi kamu misalnya di routes dengan minghilangkan tanda \u003Ccode>;\u003C\u002Fcode>\u003C\u002Fp>\u003Cp>Ini akan membuat aplikasi kita error dan pesan baru akan terkirim ke slack channel kalian.\u003C\u002Fp>\u003Cp>Bagaimana? Gampang kan? Kalian bisa mengembangkan fungsi dari notification driver punya laravel ini untuk berbagai keperluan lainnya. Misalnya notifikasi jika ada user yang login atau order yang masuk, sesuai dengan kebutuhkan dan kreatifitas kalian.\u003C\u002Fp>\u003Cp>Semoga tutorial ini cukup membantu bagaimana cara mengirim pesan dari laravel ke slack.\u003C\u002Fp>\u003Cp>Oh ya, link reponya kalau kalian butuh: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fyusidabcs\u002Flaravel-slack-example\">https:\u002F\u002Fgithub.com\u002Fyusidabcs\u002Flaravel-slack-example\u003C\u002Fa>\u003C\u002Fp>Please follow and like us:\u003Ca href=\"http:\u002F\u002Fwww.specificfeeds.com\u002Fwidgets\u002FemailSubscribeEncFeed\u002FUmN5cWduWHlmN09VS1JQcFMrLzFJODRBMlMxY3R4RWlzQnFqb2REQlVwRWxodzRTT3NLYTNxQ2FUbzFvSkJTM2hFMU9SOVdWdGNiSlF0N3ZFMjdqR1A0U2VoL0tFYXdjb1JOUnRldUlqd2ZHYU84K2lvQXZ4aHNXQ3hYZ2g2N018RlF5OExKZXdlaW1QWllodDc3c3ZscmliQ1pDaTFBSFdTWUQ3MElieVNIST0=\u002FOA==\u002F\">\u003Cimg src=\"data:image\u002Fgif;base64,R0lGODlhAQABAIAAAAAAAP\u002F\u002F\u002FyH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"\u002F>\u003C\u002Fa>\u003Ca href=\"http:\u002F\u002Ftwitter.com\u002Fshare\">\u003C\u002Fa>\u003Ca href=\"https:\u002F\u002Fwww.pinterest.com\u002Fpin\u002Fcreate\u002Fbutton\u002F?url=&amp;media=&amp;description=\">\u003C\u002Fa> Tags: Laravel Live Notification Slack","Agus Yusida May 18, 2018 Laravel sudah memasuki versi yang paling terbaru yaitu versi 5.6. Sejak Laravel versi 5.3 sudah di perkenalkan tentang Notification dri",[],[],0]