* Update manifest and add service worker
cleanup icons a bit
* Push notifications WIP
* navigate working
* cleanup
* acknowledge wired up
* Set VAPID keys on composer install
* Component to control notification permissions.
* Allow all user option to validate
* Enable on browser load if transport exists.
* Check for transport before showing user permissions
translations
* Documentation
* style fixes
* access via the attribute model
* fix alerting test
* update schema
* cleanup subscription on disable
* non-configurable db and table for webpush subscriptions (respect system connection)
* revert AlertTransport change
hopefully phpstan can figure it out
* phpstan fixes
* Support custom details display
* Match transport names to brand's preferred display
* less duplicate id errors
* Tests are done in Laravel code now so
remove legacy function usage... could be better, but ok
* Style fixes
* Style fixes 2
* Fix alert test
* Doc updates requires HTTPS and GMP
* unregister subscription when permission is set to denied
* cleanup after user deletion
* delete the right thing
* fix whitespace
* update install docs to include php-gmp
* suggest ext-gmp
* update javascript
* Update functions.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Use GitLab instead of Gitlab
Only change text part, the Alert.Transport.Gitlab class left as is.
* Fix href in document
* Move section in document
The agent list in this document is sorted by alphabetical order,
"SDFS info" is the only exception.
* Remove trailing spaces in document
* Align code in document
* Fix Markdown in document
- Escape underline
- Add syntax highlight
- Add two space in the end of line to make it a newline
- Add newline before list or code section
* Update LibreNMS/Alert/Transport/Gitlab.php
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
* Added ability to use JSON directly in Msteams Transport
* Update Transports.md
* Update Msteams.php
* Update Msteams.php
Added boolean to fix test transport button
* Update Templates.md
Added JSON example and modified titles slightly.
* Update Templates.md
Moved MS Teams examples under "Examples" header since they are no longer formatted in HTML
* Update Templates.md
* Update Templates.md
* Update Msteams.php
changed condition to use $obj['id'] rather than $obj['msg']
* Update Msteams.php
* Add support for sending events to Sensu
Sensu is an alerting and monitoring service (and much more) that has a
nagios compatible check API.
This transport translates LibreNMS alerts into Sensu events, and sends
them to the agent API running on the same host as the poller.
The transport has a few options, but none of them are required - if the
Sensu agent is correctly configured, alerts will be sent as soon as the
transport is enabled.
There's a fair amount of code, as I've tried to translate as much data as
possible between LibreNMS and Sensu.
* Update Transports.md
* If alerted is 0, send an "ok" alert dated rrd.step / 2 seconds ago
This makes Sensu aware of the last time the check ran successfully (ish).
If we don't send the initial "ok", Sensu will either display 'unknown',
or an incorrectly high duration for the incident.
Alerted gets set to 1 after the first alert is sent.
We choose rrd.step / 2 as:
* rrd.step is the maximum time ago the check could have succeeded
* we halve it, so that if a check is flapping, it is not masked
Basically, we guess that the check fails around halfway through the time
since the poller last ran.
* Add additional metadata
* Improve codeclimate slightly
* Consider names that are 2 or 3 components long
Removed the old doc that has an email address entered by comas, this is no longer needed with transports. A admin can make transport for each user or make a group of users.
* Add Headers and body
add PUT Method
* fix check length of headers
* bad commit
* style check
* better body description
* Descr and RFC enforcement on 'PUT' and body
Only PUT can accept a statically defined body. GET will ignore it (RFC) and POST body is generated with the parameters.
* Process the variables as well for headers
* Update Api.php
* update docs
* Transport API - Doc for placeholders
The available placeholders are the same as the Templates documentation but the syntax is not exactly identical.
* Update Transports.md
* Update Transports.md
* Update Transports.md
* Add support for using Markdown.
Alert templates can be written using Webex Teams (i.e., Spark) Markdown,
which makes for some richer alerts. This option defaults to false to
maintain Principle of Least Astonishment.
* Update Cisco Spark docs.
* Mention that Cisco Spark is now called Webex Teams
* Add support for Markdown
* Refactor text.
Do not exceed 80 characters per line.
* Refactor code to meet style guidelines.
* Remove errant tabs and use spaces instead
* Correct type check
* Remove use of 'else'
* Allow new {{ $xxxx }} syntax
* Properly handle urlencode on variable values without braking the URL, and uses Blades
* Doc
Doc typo
* use Guzzle for HTTP requests
* Add Basic auth support
* Doc update
* clean
* Revert Blades, but keep the {{ $xxxx }} syntax
* Revert Blades, but keep the {{ $xxxx }} syntax
* Init Vars and comments
* Notifications
* api-options are not required
* Update notifications.rss
* clean up all but header incrementing in Creating-Transport.md
* make Device-Dependencies.md mdl happy
* make Entities.md as mdl happy as possible... one long table line left
* make mdl as happy as possible for index.md
* clean up Introduction.md as much as possible
* minor formatting cleanup... move each icon onto its own row
* make ack and notes the same style
* clean Macros.md up
* clean Rules.md up as much as possible
* tweak one line a bit to get it to format a bit nicer
* a bit more format tweaking, making sure it does not sure with >
* clean up as much as possible for Templates.md
* make Testing.md as mdl happy as possibly
* clean Transports.md up as much as possible
* clean as many issues as possible for Alerts.md
* clean up as much of ARP.md as possible
* clean up as much as possible for Bills.md
* make DeviceGroups.md as mdl happy as possible
* cleanup Devices.md
* make as mdl happy as possible Inventory.md and index.md
* mdl cleanup for Logs.md and PortGroups.md
* make Ports.md and Routing.md as happy as possible
* clean up Services.md, Switching.md, and Systems.md as much as possible
* more markup cleanup
* lots more md cleanup udner Devloping/
* reapply bits from #10343 that accidentally got removed when merging
* Change in the Canopsis transport to make it 3.9.0 compliant and link to
the new documentation
* Add missing php72 module on Centos
* Fixing documentation for AMQP based tranport outside of the main doc
* Correct sound for pushover.net
pushover.net should now use sound= instead of critical.
* Added pushover config examples for all severities.
Added pushover config examples for all severities.
* Add format field to Telegram Messages
Added Telegram field to send formatted messages as Mardown or HTML
* Update Telegram.php
* Correct Mistypo.
* Correct mistypo
* Correct Mistypo
* Correct mistypo
* Update Transports.md
* Add Format field on Telegram Examples
* Change Telegram Format field to type select
* Add "blank" option to Format field
* Update Telegram.php
* Update Telegram.php
* Update Telegram.php
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
After you are done testing, you can remove the changes with `./scripts/github-remove`. If there are schema changes, you can ask on discord how to revert.
* Converted PagerDuty to new transport format
* Attempt at oauth for transports
* clean
* missing images
* reverted wrong file. phpstorm saved me...
* fix typo
* Updated to help the display
* Fix validation error, start to try to send alerts.
Editing the transport, deletes the service_key...
* Ignore hidden config options
* Fix up api call, proper feedback.
* hide oauth field in print list
Hello! I've made a first version of Alert Transporting module for Kayako Classic Servicedesk. May be it is possible to use with Kayako OnPremise version (not sure).
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
Hello all,
I guess this is the second version of a more fully fleshed out alert contact mapping feature. The old one was GH-8507
Transports to convert:
- [x] API
- [x] Cisco Spark
- [x] Elasticsearch
- [x] GitLab
- [x] Philips Hue
- [x] Jira
- [x] Mail
- [ ] ~~PagerDuty~~ - Requires a callback so leaving for now
- [x] Nagios
- [x] IRC
- [x] Discord
- [x] Rocket.chat
- [x] Hipchat
- [x] Pushover
- [x] Boxcar
- [x] Telegram
- [x] Pushbullet
- [x] VictorOps
- [x] OpsGenie
- [x] Clickatell
- [x] PlaySMS
- [x] Canopsis
- [x] osTicket
- [x] Microsoft Teams
- [x] SMSEagle
- [x] Syslog
- [x] Slack
The intention is for this feature to have three different levels to it:
1. Alert rule to an alert contact mapping (where the code is at now)
2. Alert rule to an alert group (made up of alert contacts) mapping
3. Alert contact mapping to different transport configurations.
There will be three transport configuration types.
1. Default (the configuration that is held in the configs table)
2. None (no transport configuration - will explain later)
3. Other (a configuration that will be defined in a different able)
Take Mail transport for example. It can either be of a "default" or "other" configuration. The hope is that in the future, users can send mail from different mail servers if they wish.
However, for ciscospark which requires a room ID and an api-token, I've decided that it has no transport configuration. Most likely, every alert contact will contain a different room-id and an api-token - which is why it has the transport config of "none".
For other transports : I am not familiar with them, so hopefully the community can add support for these. I can definitely help!
To add support for each transport will require several things:
- addition to the UI
- addition to forms/alert-contacts.inc.php
- modifications to its object class
Screenshots



I'm not sure if this is the best way to do things, so please let me know if there's a better way to structure the code! Any comments on code/db schema,/UI etc is welcome and encouraged!
The UI is heavily based on alert rules (front end is not my strong suit). And parts of the code are based on the code that was written for alert rules.
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
DO NOT DELETE THIS TEXT
#### Please note
> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.
- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)
#### Testers
If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
* gitlab alert transport added
* fixed SQL file and cleaned up a bit
* updated license information
* added relevant information Transports documentation
* Fixed spacing issues
* removed unnecessary text from variable
* fixed sql schema file syntax
* changed sql schema order
* fixed creation of issues for resolution events
* addressed file name conflict
* fixed spacing, again
* removed unused variable
* Update Transports.md
* Refactor alert transports to classes
* Fix linting
* Make Slack alert transport php 5.3 compatible
* Rename call method to deliverAlert for alert transport
* Ignore docs/
* Fix indenentation
YAML's pretty strict
* Remove static anchor names
Markdown does this automatically for us
* Tabelize entities
* Remove tildes
They don't do anything