Skip to content

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

Repository files navigation

Laravel Slack Log Driver (Block Kit with Incoming webhooks)

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));

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages