thibaud-dauce / mattermost-php
Mattermost PHP driver to send incoming webhooks
Installs: 303 691
Dependents: 11
Suggesters: 0
Security: 0
Stars: 28
Watchers: 7
Forks: 12
Open Issues: 0
Requires
- guzzlehttp/guzzle: ^6.2|^7.0
README
This driver for Mattermost allows you to send message for incoming webhooks.
Installation
Install project with composer
composer require thibaud-dauce/mattermost-php
Usage/Examples
This is a full example from tests/test.php
:
<?php require __DIR__ . '/../vendor/autoload.php'; use GuzzleHttp\Client; use ThibaudDauce\Mattermost\Mattermost; use ThibaudDauce\Mattermost\Message; use ThibaudDauce\Mattermost\Attachment; $mattermost = new Mattermost(new Client); $message = (new Message) ->text('This is a *test*.') ->channel('tests') ->username('A Tester') ->iconUrl('https://upload.wikimedia.org/wikipedia/fr/f/f6/Phpunit-logo.gif') ->attachment(function (Attachment $attachment) { $attachment->fallback('This is the fallback test for the attachment.') ->success() ->pretext('This is optional pretext that shows above the attachment.') ->text('This is the text. **Finaly!**') ->authorName('Mattermost') ->authorIcon('http://www.mattermost.org/wp-content/uploads/2016/04/icon_WS.png') ->authorLink('http://www.mattermost.org/') ->title('Example attachment', 'http://docs.mattermost.com/developer/message-attachments.html') ->field('Long field', 'Testing with a very long piece of text that will take up the whole width of the table. And then some more text to make it extra long.', false) ->field('Column one', 'Testing.', true) ->field('Column two', 'Testing.', true) ->field('Column one again', 'Testing.', true) ->imageUrl('http://www.mattermost.org/wp-content/uploads/2016/03/logoHorizontal_WS.png') ->action([ 'name' => 'Some button text', 'integration' => [ 'url' => 'https://my-post-api.example.org', 'context' => [ 'user_id' => '123', 'secret_key' => 'bépo22', ], ] ]); }); $mattermost->send($message, 'https://your_mattermost_webhook_url');
You can play with it by running php tests/test.php
after setting your incoming webhook URL for your server.