Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/symfony/rocket-chat-notifier
Symfony RocketChat Notifier Bridge
https://github.com/symfony/rocket-chat-notifier
component notifier php rocketchat symfony symfony-component
Last synced: about 1 month ago
JSON representation
Symfony RocketChat Notifier Bridge
- Host: GitHub
- URL: https://github.com/symfony/rocket-chat-notifier
- Owner: symfony
- License: mit
- Created: 2020-02-10T15:40:18.000Z (almost 5 years ago)
- Default Branch: 7.1
- Last Pushed: 2024-09-27T08:42:28.000Z (about 2 months ago)
- Last Synced: 2024-09-30T16:23:18.068Z (about 2 months ago)
- Topics: component, notifier, php, rocketchat, symfony, symfony-component
- Language: PHP
- Homepage: https://symfony.com/notifier
- Size: 97.7 KB
- Stars: 12
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
RocketChat Notifier
===================Provides [RocketChat](https://rocket.chat) integration for Symfony Notifier.
DSN example
-----------```
ROCKETCHAT_DSN=rocketchat://ACCESS_TOKEN@default?channel=CHANNEL
```where:
- `ACCESS_TOKEN` is your RocketChat webhook token
- `CHANNEL` is your RocketChat channel, it may be overridden in the payloadExample (be sure to escape the middle slash with %2F):
```
# Webhook URL: https://rocketchathost/hooks/a847c392165c41f7bc5bbf273dd701f3/9343289d1c33464bb15ef132b5a7628d
ROCKETCHAT_DSN=rocketchat://a847c392165c41f7bc5bbf273dd701f3%2F9343289d1c33464bb15ef132b5a7628d@rocketchathost?channel=channel
```Attachments and Payload
-----------------------When creating a `ChatMessage`, you can add payload and multiple attachments to
`RocketChatOptions`. These enable you to customize the name or the avatar of the
bot posting the message, and to add files to it.The payload can contain any data you want; its data is processed by a
Rocket.Chat Incoming Webhook Script which you can write to best suit your needs.
For example, you can use this script to send the raw payload to Rocket.Chat:```javascript
class Script {
process_incoming_request({ request }) {
return {
request.content
};
}
}
```When using this script, the Payload must be indexed following Rocket.Chat
Payload convention:```php
$payload = [
'alias' => 'Bot Name',
'emoji' => ':joy:', // Emoji used as avatar
'avatar' => 'http://site.com/logo.png', // Overridden by emoji if provided
'channel' => '#myChannel', // Overrides the DSN's channel setting
];$attachement1 = [
'color' => '#ff0000',
'title' => 'My title',
'text' => 'My text',
// ...
];$attachement2 = [
'color' => '#ff0000',
'title' => 'My title',
'text' => 'My text',
// ...
];// For backward compatibility reasons, both usages are valid
$rocketChatOptions = new RocketChatOptions($attachement1, $payload);
$rocketChatOptions = new RocketChatOptions([$attachement1, $attachement2], $payload);
```**Note:** the `text` and `attachments` keys of the payload will be overridden
respectively by the ChatMessage's subject and the attachments provided in
RocketChatOptions' constructor.See Also
--------* [Rocket.Chat Webhook Integration](https://docs.rocket.chat/guides/administration/admin-panel/integrations)
* [Rocket.Chat Message Payload](https://developer.rocket.chat/reference/api/rest-api/endpoints/core-endpoints/chat-endpoints/postmessage#payload)Resources
---------* [Contributing](https://symfony.com/doc/current/contributing/index.html)
* [Report issues](https://github.com/symfony/symfony/issues) and
[send Pull Requests](https://github.com/symfony/symfony/pulls)
in the [main Symfony repository](https://github.com/symfony/symfony)