sunaoka/laravel-slack-block-kit-web-hook-driver

Laravel Log Driver for sending Block Kit messages to incoming webhooks in Slack.

v1.0.0 2024-06-25 05:50 UTC

This package is auto-updated.

Last update: 2024-09-05 06:09:27 UTC


README

Laravel Log Driver for sending Block Kit messages to incoming webhooks in Slack.

Latest License PHP Laravel Test codecov

Installation

composer require sunaoka/laravel-slack-block-kit-web-hook-driver

Setup

config/logging.php configuration file:

return [
    'channels' => [
        'slack' => [
            'driver'   => 'custom',  // Set "custom" driver
            'url'      => env('LOG_SLACK_WEBHOOK_URL'),
            'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'),
            'level'    => env('LOG_LEVEL', 'info'),
            'via'      => \Sunaoka\Laravel\Log\Slack::class
        ],
    ],
];

Usage

<?php

$blocks = [
    'username' => config('logging.channels.slack.username'),
    'blocks' => [
        [
            'type' => 'section',
            'text' => [
                'type' => 'mrkdwn',
                'text' => "You have a new request:\n*<fakeLink.toEmployeeProfile.com|Fred Enriquez - New device request>*",
            ],
        ],
        [
            'type' => 'section',
            'fields' => [
                ['type' => 'mrkdwn', 'text' => "*Type:*\nComputer (laptop)"],
                ['type' => 'mrkdwn', 'text' => "*When:*\nSubmitted Aut 10"],
                ['type' => 'mrkdwn', 'text' => "*Last Update:*\nMar 10, 2015 (3 years, 5 months)"],
                ['type' => 'mrkdwn', 'text' => "*Reason:*\nAll vowel keys aren't working."],
                ['type' => 'mrkdwn', 'text' => "*Specs:*\n\"Cheetah Pro 15\" - Fast, really fast\""],
            ],
        ],
    ],
];

\Log::channel('info')->error(json_encode($blocks));