Skip to content

Example Plugins ​

The examples are in examples/plugins/ of the repository. They are not in the Docker image. Each example has its own README and tests. CI runs them one by one.

ExampleWhat it shows
webhook-on-event@subscribe("*"), a config form, secret_field. Sends selected events as a POST to a URL, with an optional HMAC signature
custom-rss-siteA search_site Provider and an http.request hook. Adds a Cookie to the requests of a private site. SearchSiteContract
template-renameA rename_strategy Provider with a file-name template that has its own filters. RenameSkipped. RenameStrategyContract
nfo-writerSubscribes to torrent.organized and writes an .nfo next to each media file. Path mapping. Idempotent
ntfy-notifierA notifier Provider. Returns False when the backend refuses. NotifierContract
run-commandSubscribes to torrent.organized / file.renamed and runs an external command. The argument list does not go through a shell. Environment variables and placeholders. Kill on timeout
strm-writerSubscribes to torrent.organized and writes .strm files that mirror the media folders. Idempotent
synology-chat-notifierA notifier Provider. Sends the form field payload=<JSON>. Returns False on HTTP 200 with success: false
slack-notifierA notifier Provider. Escapes mrkdwn. Adds an image block when a poster is available
manual-pickThe frontend slot bangumi.detail.tab, plugin routes, plugin KV, events

Install an example ​

bash
cp -r examples/plugins/ntfy-notifier config/plugins/local/

Turn on "Allow unsigned plugins" in Settings → Plugins, then enable the plugin.

Run the tests of an example ​

Run the script in the repository root. It validates the manifest of each example and runs its tests, the same as CI:

bash
scripts/test_example_plugins.sh

The script runs in the backend/ environment, which has an editable install of the SDK. The pyproject.toml of each example needs autobangumi-sdk, and this package is not on PyPI. To test an example outside the repository, first run uv add <path to the wheel> in the example directory. Then run uv run pytest.

You do not need a plugin to refresh a Jellyfin, Emby or Plex library. The built-in plugin media-server-refresh does it.

AutoBangumi is released under the MIT License. (latest: v3.3.2)