jahmed76/laravel-slack-blocks

为 Laravel 通知提供 Slack Blocks 支持。

v2.3.2 2021-12-10 10:23 UTC

This package is auto-updated.

Last update: 2024-09-10 16:08:18 UTC


README

此包是官方 laravel/slack-notification-channel 包的扩展。

用法

您应该使用此包而不是官方包。

composer require jahmed76/laravel-slack-blocks

因为这个包是基于官方包构建的,所以您将拥有官方文档中找到的所有功能 (官方文档)

您可以根据以下说明操作,只需将 NathanHeffley\LaravelSlackBlocks 类的要求改为 Illuminate\Notifications 即可。

基本 Illuminate Notifications 类支持的任何内容,这些扩展类都支持。

如果您想在 Slack 消息中添加一个块,您需要在附件中添加该块。

use NathanHeffley\LaravelSlackBlocks\Messages\SlackMessage;

// ...

public function toSlack($notifiable)
{
    return (new SlackMessage)
        ->attachment(function ($attachment) {
            $attachment->block(function ($block) {
                $block
                    ->type('section')
                    ->text([
                        'type' => 'mrkdwn',
                        'text' => '*Hello World!*',
                    ]);
            });
        });
}

要查看您可以添加到块的所有可能字段,请查看 官方 Slack Blocks 文档

为了帮助,一些块在附件模型本身上已经提供了专门的辅助函数。目前有添加分隔符和图像的方法。

(new SlackMessage)->attachment(function ($attachment) {
    $attachment->imageBlock('http://placekitten.com/300/200', 'A cute kitten');
    $attachment->dividerBlock();
    $attachment->imageBlock('http://placekitten.com/300/200', 'A cute kitten', 'This is a titled cat image');
});