mirror of
https://github.com/snipe/snipe-it.git
synced 2024-11-09 23:24:06 -08:00
formats check in message for MS Teams
This commit is contained in:
parent
ce02e43ab2
commit
cdcd868162
|
@ -10,6 +10,8 @@ use Illuminate\Bus\Queueable;
|
||||||
use Illuminate\Notifications\Messages\MailMessage;
|
use Illuminate\Notifications\Messages\MailMessage;
|
||||||
use Illuminate\Notifications\Messages\SlackMessage;
|
use Illuminate\Notifications\Messages\SlackMessage;
|
||||||
use Illuminate\Notifications\Notification;
|
use Illuminate\Notifications\Notification;
|
||||||
|
use NotificationChannels\MicrosoftTeams\MicrosoftTeamsChannel;
|
||||||
|
use NotificationChannels\MicrosoftTeams\MicrosoftTeamsMessage;
|
||||||
|
|
||||||
class CheckinAssetNotification extends Notification
|
class CheckinAssetNotification extends Notification
|
||||||
{
|
{
|
||||||
|
@ -42,7 +44,10 @@ class CheckinAssetNotification extends Notification
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function via()
|
public function via()
|
||||||
{
|
{ if (Setting::getSettings()->webhook_selected == 'microsoft'){
|
||||||
|
|
||||||
|
return [MicrosoftTeamsChannel::class];
|
||||||
|
}
|
||||||
$notifyBy = [];
|
$notifyBy = [];
|
||||||
if (Setting::getSettings()->webhook_endpoint != '') {
|
if (Setting::getSettings()->webhook_endpoint != '') {
|
||||||
\Log::debug('use webhook');
|
\Log::debug('use webhook');
|
||||||
|
@ -84,40 +89,27 @@ class CheckinAssetNotification extends Notification
|
||||||
->content($note);
|
->content($note);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
public function toMsTeams()
|
public function toMicrosoftTeams()
|
||||||
{
|
{
|
||||||
$admin = $this->admin;
|
$admin = $this->admin;
|
||||||
$item = $this->item;
|
$item = $this->item;
|
||||||
$note = $this->note;
|
$note = $this->note;
|
||||||
|
$button = [
|
||||||
$fields = [
|
|
||||||
trans('general.administrator') => '<'.$admin->present()->viewUrl().'|'.$admin->present()->fullName().'>',
|
trans('general.administrator') => '<'.$admin->present()->viewUrl().'|'.$admin->present()->fullName().'>',
|
||||||
trans('general.status') => $item->assetstatus->name,
|
trans('general.status') => $item->assetstatus->name,
|
||||||
trans('general.location') => ($item->location) ? $item->location->name : '',
|
trans('general.location') => ($item->location) ? $item->location->name : '',
|
||||||
];
|
];
|
||||||
|
|
||||||
$payload = json_encode(
|
return MicrosoftTeamsMessage::create()
|
||||||
[
|
->to($this->settings->webhook_endpoint)
|
||||||
"type" => "message",
|
->type('success')
|
||||||
"attachments" => [
|
->title("Asset Checked in")
|
||||||
[
|
->fact($item->present()->name, '')
|
||||||
"contentType" => "application/vnd.microsoft.card.adaptive",
|
->fact('Checked into ', $item->location->name)
|
||||||
"contentUrl" => null,
|
->fact(trans('mail.Asset_Checkin_Notification')." by ", $admin->present()->fullName())
|
||||||
"content" => [
|
->fact('Asset Status', $item->assetstatus->name);
|
||||||
"schema" => "http://adaptivecards.io/schemas/adaptive-card.json",
|
|
||||||
"type" => "AdaptiveCard",
|
|
||||||
"version" => "1.2",
|
|
||||||
"body" => [
|
|
||||||
[
|
|
||||||
"type" => "TextBlock",
|
|
||||||
"text" => "For Samples and Templates, see [https://adaptivecards.io/samples](https://adaptivecards.io/samples)"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
]
|
|
||||||
);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
"guzzlehttp/guzzle": "^7.0.1",
|
"guzzlehttp/guzzle": "^7.0.1",
|
||||||
"intervention/image": "^2.5",
|
"intervention/image": "^2.5",
|
||||||
"javiereguiluz/easyslugger": "^1.0",
|
"javiereguiluz/easyslugger": "^1.0",
|
||||||
|
"laravel-notification-channels/microsoft-teams": "^1.1",
|
||||||
"laravel/framework": "^8.46",
|
"laravel/framework": "^8.46",
|
||||||
"laravel/helpers": "^1.4",
|
"laravel/helpers": "^1.4",
|
||||||
"laravel/passport": "^10.1",
|
"laravel/passport": "^10.1",
|
||||||
|
|
61
composer.lock
generated
61
composer.lock
generated
|
@ -4,7 +4,7 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "f4f3b6b02d044ed3e54cdd509b01c3dc",
|
"content-hash": "89580c52de91168aac8321460bd428e2",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "alek13/slack",
|
"name": "alek13/slack",
|
||||||
|
@ -3180,6 +3180,63 @@
|
||||||
},
|
},
|
||||||
"time": "2015-04-12T19:57:10+00:00"
|
"time": "2015-04-12T19:57:10+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "laravel-notification-channels/microsoft-teams",
|
||||||
|
"version": "v1.1.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/laravel-notification-channels/microsoft-teams.git",
|
||||||
|
"reference": "e2df0129ba430666979eb2ad7033455fd0f6b577"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/laravel-notification-channels/microsoft-teams/zipball/e2df0129ba430666979eb2ad7033455fd0f6b577",
|
||||||
|
"reference": "e2df0129ba430666979eb2ad7033455fd0f6b577",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"guzzlehttp/guzzle": "^6.3 || ^7.0",
|
||||||
|
"illuminate/notifications": "~5.5 || ~6.0 || ~7.0 || ^8.0 || ^9.0 || ^10.0",
|
||||||
|
"illuminate/support": "~5.5 || ~6.0 || ~7.0 || ^8.0 || ^9.0 || ^10.0",
|
||||||
|
"php": ">=7.2"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"mockery/mockery": "^1.2.3",
|
||||||
|
"phpunit/phpunit": "^8.0|^9.5"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"laravel": {
|
||||||
|
"providers": [
|
||||||
|
"NotificationChannels\\MicrosoftTeams\\MicrosoftTeamsServiceProvider"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"NotificationChannels\\MicrosoftTeams\\": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Tobias Madner",
|
||||||
|
"email": "tobias.madner@gmx.at",
|
||||||
|
"homepage": "https://www.pinpoll.com",
|
||||||
|
"role": "Developer"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A Laravel Notification Channel for Microsoft Teams",
|
||||||
|
"homepage": "https://github.com/laravel-notification-channels/microsoft-teams",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/laravel-notification-channels/microsoft-teams/issues",
|
||||||
|
"source": "https://github.com/laravel-notification-channels/microsoft-teams/tree/v1.1.4"
|
||||||
|
},
|
||||||
|
"time": "2023-01-25T16:56:40+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/framework",
|
"name": "laravel/framework",
|
||||||
"version": "v8.83.22",
|
"version": "v8.83.22",
|
||||||
|
@ -16961,5 +17018,5 @@
|
||||||
"ext-pdo": "*"
|
"ext-pdo": "*"
|
||||||
},
|
},
|
||||||
"platform-dev": [],
|
"platform-dev": [],
|
||||||
"plugin-api-version": "2.6.0"
|
"plugin-api-version": "2.3.0"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue