7.4 KiB
Webhooks Attributes
Configuring Webhooks is optional but can allow you to receive notifications when certain events happen.
Discord and Slack Direct webhooks are supported just use the correct urls.
A webhooks
mapping is in the root of the config file.
Below is a webhooks
mapping example and the full set of attributes:
webhooks:
error: https://www.myspecialdomain.com/pmm
version:
run_start:
run_end:
changes:
Attribute | Global | Library | Collection |
---|---|---|---|
error |
:fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
version |
:fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
run_start |
:fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
run_end |
:fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
delete |
:fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
changes |
:fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
- Each Attribute can be either a webhook url as a string or a comma-separated list of webhooks urls.
- To send notifications to Notifiarr just add
notifiarr
to a webhook instead of the webhook url. - To send notifications to Gotify just add
gotify
to a webhook instead of the webhook url.
Error Notifications
The Error notification will be sent whenever an error occurs. The payload that is sent is different Depending on which level the error occurs.
Global JSON Payload
{
"event": "error", // Event
"error": str, // Error Message
"critical": bool // Critical Error
}
Library JSON Payload
{
"event": "error", // Event
"error": str, // Error Message
"critical": bool, // Critical Error
"server_name": str, // Server Name
"library_name": str // Library Name
}
Collection JSON Payload
{
"event": "error", // Event
"error": str, // Error Message
"critical": bool, // Critical Error
"server_name": str, // Server Name
"library_name": str, // Library Name
"collection": str // Collection Name
}
Playlist JSON Payload
{
"event": "error", // Event
"error": str, // Error Message
"critical": bool, // Critical Error
"server_name": str, // Server Name
"playlist": str // Playlist Name
}
Version Notifications
The Version notification will be sent at the beginning of a run if there is a newer version available.
JSON Payload
{
"event": "version", // Event
"current": str, // Current Version
"latest": str, // Latest Version
"notes": str // Sends the latest release notes or new commits to develop since your version
}
Run Start Notifications
The Run Start notification will be sent at the beginning of every run.
JSON Payload
{
"event": "run_start", // Event
"start_time": str, // Time Run is started Format "YY-mm-dd HH:MM:SS"
}
Run End Notifications
The Run End notification will be sent at the end of every run with statistics.
JSON Payload
{
"event": "run_end", // Event
"start_time": str, // Time Run started Format "YY-mm-dd HH:MM:SS"
"end_time": str, // Time Run ended Format "YY-mm-dd HH:MM:SS"
"run_time": str, // Time Run took to complete Format "HH:MM"
"collections_created": int, // Number of Collections/Playlists Created
"collections_modified": int, // Number of Collections/Playlists Modified
"collections_deleted": int, // Number of Collections/Playlists Removed
"items_added": int, // Number of Items added across all Collections/Playlists
"items_removed": int, // Number of Items removed across all Collections/Playlists
"added_to_radarr": int, // Number of Items added to Radarr
"added_to_sonarr": int, // Number of Items added to Sonarr
"names": [ // List of Dictionaries
"name": str, // Name of collection or playlist in the run
"library": str // Library the collection is in or PLAYLIST
]
}
Delete Notifications
The Delete Notification will be sent whenever a collection/playlist is deleted containing the following payload.
JSON Payload
{
"event": "delete", // Event
"message": str, // Status Message
"server_name": str, // Server Name
"library_name": str, // Library Name (Only if a Collection is deleted)
}
Changes Notifications
The Changes Notification will be sent after each collection/playlist containing the following payload if the collection/playlist has been created, has new items, or has had items removed.
JSON Payload
{
"event": "changes", // Event
"server_name": str, // Server Name
"library_name": str, // Library Name
"collection": str, // Collection Name only in payload for a collection
"playlist": str, // Playlist Name only in payload for a playlist
"created": bool, // Was the Collection/Playlist Created on this run
"poster": str, // Base64 Encoded Collection/Playlist Poster if no poster_url is found
"poster_url": str, // Collection/Playlist Poster URL if available
"background": str, // Base64 Encoded Collection/Playlist Background if no poster_url is found
"background_url": str, // Collection/Playlist Background URL if available
"additions": [ // List of Dictionaries
"title": str, // Title of addition
"tmdb_id": int, // TMDb ID of addition only appears if it's a Movie
"tvdb_id": int // TVDb ID of addition only appears if it's a Show
],
"removals": [ // List of Dictionaries
"title": str, // Title of removal
"tmdb_id": int, // TMDb ID of removal only appears if it's a Movie
"tvdb_id": int // TVDb ID of removal only appears if it's a Show
],
"radarr_adds": [ // List of Dictionaries
"title": str, // Title of the Radarr Add
"id": int // TMDb ID of the Radarr Add
],
"sonarr_adds": [ // List of Dictionaries
"title": str, // Title of the Sonarr Add
"id": int // TVDb ID of the Sonarr Add
]
}