Go to file
Cody Robibero 6c0ade484b
Merge pull request #36 from jellyfin/dependabot/nuget/MailKit-2.13.0
chore(deps): bump MailKit from 2.12.0 to 2.13.0
2021-06-13 19:07:44 -06:00
.github Add Jellyfin ci, update build.yaml, update README.md 2021-05-18 05:10:30 -06:00
Jellyfin.Plugin.Webhook chore(deps): bump MailKit from 2.12.0 to 2.13.0 2021-06-14 00:58:14 +00:00
.gitattributes initial commit 2020-09-11 15:02:28 -06:00
.gitignore initial commit 2020-09-11 15:02:28 -06:00
build.yaml Add Jellyfin ci, update build.yaml, update README.md 2021-05-18 05:10:30 -06:00
Jellyfin.Plugin.Webhook.sln initial commit 2020-09-11 15:02:28 -06:00
jellyfin.ruleset Analyze! 2021-03-13 14:48:09 -07:00
LICENSE Add actual license text 2020-12-16 18:45:02 -07:00
README.md you saw nothing 2021-05-18 05:21:07 -06:00

Jellyfin Webhook Plugin

Part of the Jellyfin Project

Plugin Banner

GitHub Workflow Status GPLv3 License Current Release

Use Handlebars templating engine to format notifications however you wish.

See 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 <a> tag

Variables:

  • Every Notifier

    • ServerId
    • ServerName
    • ServerVersion
      • $major.$minor.$build
    • ServerUrl
      • Server url
    • NotificationType
  • BaseItem:

    • Timestamp
      • Current server time local
    • UtcTimestamp
      • Current server time utc
    • Name
      • Item name
    • Overview
      • Item overview
    • 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
    • RunTime
      • The media runtime, as hh:mm:ss
  • Playback

    • Includes everything from BaseItem
    • PlaybackPositionTicks
      • The current playback position, in 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
    • Username
      • 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
    • Username
  • Gotify
    • Priority
  • Pushbullet
  • Pushover
    • Token
    • UserToken
    • Device
    • Title
    • MessageUrl
    • MessageUrlTitle
    • MessagePriority
    • NotificationSound
  • SMTP

Future events can be created from https://github.com/jellyfin/jellyfin/blob/master/Jellyfin.Server.Implementations/Events/EventingServiceCollectionExtensions.cs