gahlawat / laravel-slack by gahlawat

A minimalist laravel integration for Slack
36,438
25
4
Package Data
Maintainer Username: gahlawat
Maintainer Contact: jiveshsg@gmail.com (Jivesh Gahlawat)
Package Create Date: 2015-08-01
Package Last Update: 2018-06-30
Home Page: https://gahlawat.github.io/laravel-slack
Language: PHP
License: MIT
Last Refreshed: 2024-04-18 15:18:22
Package Statistics
Total Downloads: 36,438
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 25
Total Watchers: 4
Total Forks: 7
Total Open Issues: 1

laravel-slack

Author Travis Quality Score Code Climate Total Downloads Packagist Version Software License SensioLabsInsight

A very tiny and lightweight integration with the Slack API for posting notifications or any kind of messages to your team's Slack account.


Requirements

  • Laravel Framework 5+

Installation

Using Composer package manager, install this package by running following command in your project root:

$ composer require jivesh/laravel-slack

Registering the Package

  • 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 your providers 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 your aliases array for a nice Laravel syntax using Facades.
/**
 * Package Alias
 */

'aliases' => [
    // ...

    'Slack' => Gahlawat\Slack\Facade\Slack::class,
],

Configuration

  • 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 for incoming-webhook generated in the first step above.
  • You may optionally set a default username and emoji icon displayed in your Slack app from here.

Usage

  • 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.