A very tiny and lightweight integration with the Slack API for posting notifications or any kind of messages to your team's Slack account.
- Laravel Framework 5+
Using Composer package manager, install this package by running following command in your project root:
$ composer require jivesh/laravel-slack
-
This package supports auto discovery feature introduced in Laravel v5.5, hence it is auto registered. You may skip to 'Configuration' section below.
-
If your app is on Laravel v5.4 or below, follow below steps to register:
-
In your
config/app.php
file, append the following code into yourproviders
array for integrating the Service Provider for package.
/**
* Package Service Provider
*/
'providers' => [
// ...
Gahlawat\Slack\SlackServiceProvider::class,
],
- Again in your
config/app.php
file, copy the following code into youraliases
array for a nice Laravel syntax using Facades.
/**
* Package Alias
*/
'aliases' => [
// ...
'Slack' => Gahlawat\Slack\Facade\Slack::class,
],
-
Create an incoming webhook on your Slack account for the package to use and copy the generated Webhook URL.
-
Run the following command in project root directory to generate config file for package.
$ php artisan vendor:publish
- Now edit
config/slack.php
and paste value forincoming-webhook
generated in the first step above. - You may optionally set a default username and emoji icon displayed in your Slack app from here.
- Send any message in real time to your Slack account using this anywhere in your php code:
\Slack::send("your-message");
- The backslash indicates global namespace scope for this function, you may import Slack namespace on top of your file by
using
it:
use Slack;
- Then, you can call this Facade without a
\
as:
Slack::send("your-message");
- You can change the default name and/or display icon in your Slack app for any message by using optional second and third parameter.
- To send this message privately to any user, use the fourth parameter as @username
- To send this message publicly to any channel, use the fourth parameter as #channel
Slack::send("your-message" [,"display-name" [,"display-emoji"] [,"#channel" or "@username"]]);
// here [] indicates optional parameters
See this cheat sheet of available emoji icons.