Slack: Enviar notificaciones con Laravel 8

[vc_row el_class=”blog-info”][vc_column][vc_single_image source=”featured_image” img_size=”full” style=”vc_box_rounded”][vc_empty_space height=”40px”][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text el_class=”font-weight-bold”]

Enviar notificaciones de Slack con Laravel 8

En este artículo aprenderemos de forma rápida y sencilla sobre cómo enviar notificaciones de Slack utilizando Laravel 8

[/vc_column_text][vc_empty_space height=”40px”][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text]


Paso 1. Instale el canal de notificación de Slack

Antes de poder enviar notificaciones a través de Slack, debe instalar el canal de notificación de Slack a través de Composer:

composer require laravel/slack-notification-channel

Paso 2. Cree y configure la notificación

En Laravel, cada notificación está representada por una sola clase que normalmente se almacena en el directorio app/Notifications. No se preocupe si no ve este directorio en su aplicación; se creará cuando ejecute el comando make:notification Artisan:

php artisan make:notification SendNotification

A continuación, configure la aplicación de  app/Notification/SendNotification

<?php
namespace App\Notifications;use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use Illuminate\Notifications\Messages\SlackMessage;class SendNotification extends Notification
{
   use Queueable;
   private $user;   public function __construct($user)
   {
      $this->user = $user;
   }   public function via($notifiable)
   {
      return ['slack'];
   }   public function toSlack($notifiable)
   {
      return (new SlackMessage)
           ->content('Enviando nuestro primer mensaje con Slack');
   }
}

Paso 3. Crea y configura el canal Slack

También deberá configurar una integración de “Webhook entrante” para su equipo de Slack. Esta integración le proporcionará una URL que puede usar al enrutar notificaciones de Slack.

3.1 Agregar a Salck

Slack

3.2 Agregar integración con WebHooks entrantes

Slack

3.3 Guardar

Slack


Paso 4. Uso del rasgo notificable

Las notificaciones se pueden enviar de dos maneras: utilizando el método de  notify del rasgo Notificable o utilizando la fachada de Notification. El rasgo de Notifiable se incluye en el modelo App\Models\User de su aplicación de forma predeterminada:

<?php

namespace App\Models;

use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable
{
    use Notifiable;    public function routeNotificationForSlack($notification)
    {
        return 'https://hooks.slack.com/services/...';
    }
}

Paso 5. Enviar notificación

Puede enviar notificaciones a través del rasgo de notify o, alternativamente, puede enviar notificaciones a través de la fachada de Notification. Este enfoque es útil cuando necesita enviar una notificación a varias entidades notificables, como una colección de usuarios.

Rasgo notify

use App\Notifications\SendNotification;

$user->notify(new SendNotification($invoice));

Fachada Notification

use Illuminate\Support\Facades\Notification;

Notification::send($users, new SendNotification($invoice));

Gracias por leer. Si te gusta esto… ¡dame un like!

[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row el_class=”social-info”][vc_column width=”1/6″][/vc_column][vc_column width=”2/3″][vc_row_inner][vc_column_inner width=”1/2″][vc_column_text][social_share_button themes=’theme1′][/vc_column_text][/vc_column_inner][vc_column_inner el_class=”youtube-inner-col” width=”1/2″][vc_column_text][likebtn theme=”youtube” lang=”auto” show_like_label=”0″ white_label=”1″ alignment=”right”][/vc_column_text][/vc_column_inner][/vc_row_inner][vc_row_inner el_class=”social-info-inner”][vc_column_inner width=”1/4″][vc_single_image image=”921″][/vc_column_inner][vc_column_inner width=”3/4″][vc_column_text]

Diego Pacheco

Ingeniero en Sitemas, MBA (Babson College). Desarrollador PHP/Java/JavaScript. Fundador & CEO de EpicStudio. Entusiasta de las tecnologías web (JavaScript, Vue, Laravel, AWS, Docker) Viajes, Negocios, Surf y Growth.[/vc_column_text][asvc_list_item icon_fontawesome=”fa fa-calendar-o” icon_size=”14px”]Programar una reunión[/asvc_list_item][/vc_column_inner][/vc_row_inner][/vc_column][vc_column width=”1/6″][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Recent Post

[/vc_column_text][lvca_posts_carousel posts_query=”size:3|order_by:rand|post_type:post” image_linkable=”true” image_size=”full” taxonomy_chosen=”post_tag” display_title=”true” display_post_date=”true” display_summary=”true” autoplay_speed=”3000″ animation_speed=”300″ display_columns=”3″ scroll_columns=”3″ gutter=”3″ tablet_display_columns=”2″ tablet_scroll_columns=”2″ tablet_gutter=”3″ tablet_width=”800″ mobile_display_columns=”1″ mobile_scroll_columns=”1″ mobile_gutter=”3″ mobile_width=”480″][vc_empty_space height=”20px”][/vc_column][/vc_row]