Разместите несколько текстовых сообщений в Slack от Laravel - PullRequest
0 голосов
/ 05 августа 2020

Я использую Slack Webhooks для отправки уведомлений в Slack. Это работает хорошо, пока я не попытаюсь опубликовать более одного сообщения в Slack за один запрос. Он позволяет публиковать несколько изображений в качестве вложений, но не позволяет публиковать несколько сообщений одновременно.

Он просто перезаписывает первое сообщение новым, вот код, который я пытаюсь использовать:

return (new SlackMessage)
                ->success()
                ->content('Message 1')
                ->content('Message 2')
                ->attachment(function ($attachment) {
                    $attachment->image("Image url goes here");
                ->attachment(function ($attachment) {
                    $attachment->image("Image url goes here");
                               
                });

В приведенном выше коде я пытаюсь опубликовать 2 сообщения и 2 изображения. Он успешно публикует 2 изображения в Slack, но публикует только одно сообщение, т.е. второе и отменяет первое.

1 Ответ

0 голосов
/ 06 августа 2020

Наконец-то мне удалось получить на это ответ.

Этого можно добиться с помощью параметров «Блоки» в Slack. Поскольку параметр «Текст» допускает только строковое значение, а «Блоки» позволяют размещать туда группу массивов.

Мы можем использовать его следующим образом:

$blocks = array("type"=>"section","text"=>array("type"=>"plain_text","text"=>"Message 1"));

return (new SlackMessage)
                ->success()
                ->blocks($blocks)    //here you can call it
                ->attachment(function ($attachment) {
                    $attachment->image("Image url goes here");
                ->attachment(function ($attachment) {
                    $attachment->image("Image url goes here");
                               
                });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...