35 lines
1.1 KiB
Markdown
35 lines
1.1 KiB
Markdown
# MovieNight Jellyfin Plugin
|
|
|
|
Thin Jellyfin server plugin for bridging Jellyfin playback/sync signals to the MovieNight backend.
|
|
|
|
## Build
|
|
|
|
```bash
|
|
cd plugins/jellyfin/Jellyfin.Plugin.MovieNight
|
|
dotnet publish -c Release
|
|
```
|
|
|
|
Install the published `net9.0` plugin files into the Jellyfin data directory under `plugins/MovieNight/`, then restart Jellyfin. This build targets Jellyfin `10.11.x`.
|
|
|
|
## Backend Contract Used
|
|
|
|
Current implemented calls:
|
|
|
|
- `POST /api/integrations/jellyfin/sync`
|
|
- `GET /api/integrations/jellyfin/sync-state`
|
|
- `POST /api/integrations/jellyfin/events`
|
|
|
|
Event requests use JSON with:
|
|
|
|
- `event_id`
|
|
- `event_type`
|
|
- `occurred_at`
|
|
- `jellyfin_user_id`
|
|
- `item_id`
|
|
- `payload_version`
|
|
- `payload`
|
|
|
|
The plugin sends `X-MovieNight-Plugin-Token` when configured. Completed Jellyfin playback stop events are sent as `playback.stopped`. Transient event push failures are retried three times with the same `event_id`.
|
|
|
|
The config page test action posts a small synthetic event to `/api/integrations/jellyfin/events` and treats `200` as success and `401` as token/config failure.
|