Go to file
Cody Robibero f21ee45828
Merge pull request #57 from jellyfin/bot-username
Update Username parameter to be NotificationUsername
2021-09-13 18:16:21 -06:00
.github fix: typo be gone 2021-09-07 20:24:04 +02:00
Jellyfin.Plugin.Webhook Update Username parameter to be NotificationUsername 2021-09-13 18:13:33 -06: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 Bump version to 4 2021-08-30 11:07:15 +00: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 Update Username parameter to be NotificationUsername 2021-09-13 18:13:33 -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
    • 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
    • SlackIconUrl

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