This package allows you to send notifications to Microsoft Teams.
You can install the package using the Composer package manager. You can install it by running this command in your project root:
composer require skrepr/teams-connector
Then create an incoming webhook on your Microsoft teams channel for the package to use.
<?php
declare(strict_types=1);
use Skrepr\TeamsConnector\Card;
use Skrepr\TeamsConnector\CardInterface;
use Skrepr\TeamsConnector\Client;
$endPoint = 'https://...';
$httpClient = new \GuzzleHttp\Client();
$teamsClient = new Client($endPoint, $httpClient);
$card = (new Card('Larry Bryant created a new task'))
->setText('Yes, he did')
->setThemeColor(CardInterface::STATUS_DEFAULT)
->setTitle('Adding Title to the card');
$teamsClient->send($card);
<?php
declare(strict_types=1);
use Skrepr\TeamsConnector\Card;
use Skrepr\TeamsConnector\Client;
use Skrepr\TeamsConnector\Section\Section;
$endPoint = 'https://...';
$httpClient = new \GuzzleHttp\Client();
$teamsClient = new Client($endPoint, $httpClient);
$card = new Card('Larry Bryant created a new task');
$section = (new Section('Larry Bryant created a new task'))
->setActivitySubtitle('On Project Tango')
->setActivityImage('https://teamsnodesample.azurewebsites.net/static/img/image5.png')
->addFact('Assigned to', 'Unassigned')
->addFact('Due date', 'Mon May 01 2017 17:07:18 GMT-0700 (Pacific Daylight Time)');
$card->addSection($section);
$teamsClient->send($card);
<?php
declare(strict_types=1);
use Skrepr\TeamsConnector\Actions\ActionCard;
use Skrepr\TeamsConnector\Actions\HttpPostAction;
use Skrepr\TeamsConnector\Card;
use Skrepr\TeamsConnector\Client;
use Skrepr\TeamsConnector\Inputs\TextInput;
$endPoint = 'https://...';
$httpClient = new \GuzzleHttp\Client();
$teamsClient = new Client($endPoint, $httpClient);
$card = new Card('Larry Bryant created a new task');
$card->setText('Yes, he did');
$actionCard = (new ActionCard('Add a comment'))
->addInput(new TextInput('comment', 'Add a comment here for this task'))
->addAction(new HttpPostAction('Add comment', 'http://...'));
$card->addPotentialAction($actionCard);
$teamsClient->send($card);
In order to talk to Microsoft Teams API, you need an HTTP adapter. We rely on HTTPlug which defines how HTTP message should be sent and received. You can use any library to send HTTP messages that implements php-http/client-implementation.
composer test
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.