Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jellyfin/jellyfin-plugin-webhook
https://github.com/jellyfin/jellyfin-plugin-webhook
hacktoberfest
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/jellyfin/jellyfin-plugin-webhook
- Owner: jellyfin
- License: gpl-3.0
- Created: 2020-09-11T21:01:57.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-13T22:25:45.000Z (5 months ago)
- Last Synced: 2024-04-14T01:49:48.831Z (5 months ago)
- Topics: hacktoberfest
- Language: C#
- Homepage:
- Size: 284 KB
- Stars: 110
- Watchers: 10
- Forks: 38
- Open Issues: 68
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Jellyfin Webhook Plugin
Part of the Jellyfin Project
## Debugging:
#### My webhook isn't working!
Change your `logging.json` file to output `debug` logs for `Jellyfin.Plugin.Webhook`. Make sure to add a comma to the end of `"System": "Warning"`
```diff
{
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Warning",
"System": "Warning",
+ "Jellyfin.Plugin.Webhook": "Debug"
}
}```
## Documentation:
Use [Handlebars](https://handlebarsjs.com/guide/) templating engine to format notifications however you wish.See [Templates](Jellyfin.Plugin.Webhook/Templates) for sample templates.
#### Helpers:
- if_equals
- if first parameter equals second parameter case insensitive
- if_exist
- if the value of the parameter is not null or empty
- link_to
- wrap the $url and $text in an `` tag#### Variables:
- Every Notifier
- ServerId
- ServerName
- ServerVersion
- `$major.$minor.$build`
- ServerUrl
- Server url
- NotificationType
- The [NotificationType](Jellyfin.Plugin.Webhook/Destinations/NotificationType.cs)- BaseItem:
- Timestamp
- Current server time local
- UtcTimestamp
- Current server time utc
- Name
- Item name
- Overview
- Item overview
- Tagline
- Item tagline
- ItemId
- Item id
- ItemType
- Item type
- Year
- Item production year
- SeriesName
- TV series name
- SeasonNumber
- Series number - direct format
- SeasonNumber00
- Series number - padded 00
- SeasonNumber000
- Series number - padded 000
- EpisodeNumber
- Episode number - direct format
- EpisodeNumber00
- Episode number - padded 00
- EpisodeNumber000 -
- Episode number - padded 000
- Provider_{providerId_lowercase}
- ProviderId is lowercase.
- RunTimeTicks
- The media runtime, in [Ticks](https://docs.microsoft.com/en-us/dotnet/api/system.datetime.ticks)
- RunTime
- The media runtime, as `hh:mm:ss`
- AspectRatio
- Item original aspect ratio- Playback
- Includes everything from `BaseItem`
- PlaybackPositionTicks
- The current playback position, in [Ticks](https://docs.microsoft.com/en-us/dotnet/api/system.datetime.ticks)
- PlaybackPosition
- The current playback position, as `hh:mm:ss`
- MediaSourceId
- The media source id
- IsPaused
- If playback is paused
- IsAutomated
- If notification is automated, or user triggered
- DeviceId
- Playback device id
- DeviceName
- Playback device name
- ClientName
- Playback client name
- NotificationUsername
- User playing item. Note: multiple notifications will be sent if there are multiple users in a session
- UserId
- The user Id
- PlayedToCompletion
- `true/false`, Only when `NotificationType == PlaybackStop`#### Destination Specific:
- Discord
- MentionType
- EmbedColor
- AvatarUrl
- BotUsername
- Gotify
- Priority
- Pushbullet
- Pushover
- Token
- UserToken
- Device
- Title
- MessageUrl
- MessageUrlTitle
- MessagePriority
- NotificationSound
- SMTP
- Slack
- BotUsername
- SlackIconUrlFuture events can be created
from https://github.com/jellyfin/jellyfin/blob/master/Jellyfin.Server.Implementations/Events/EventingServiceCollectionExtensions.cs