v1.13.0 Update

master
meisnate12 3 years ago
parent 69969f32b6
commit 83c090e1e2

@ -1,4 +1,4 @@
Configuring [AniDB.net](https://anidb.net/) is optional but can allow you to access mature content with AniDB Builders.
Configuring [AniDB](https://anidb.net/) is optional but can allow you to access mature content with AniDB Builders.
**All AniDB Builders still work without this, they will just not have mature content**

@ -74,8 +74,11 @@ All the following attributes serve various functions as how the collection funct
| Show Filtered Collections | `show_filtered` | Collection level `show_filtered` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` |
| Show Missing Collections | `show_missing` | Collection level `show_missing` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` |
| Save Missing Collections | `save_missing` | Collection level `save_missing` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` |
| Name Mapping | `name_mapping` | Used to specify the folder name in the [Image Assets Directory](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes#image-asset-directory) | Folder Name In Assets Directory |
| Name Mapping | `name_mapping` | Used to specify the folder name in the [Image Assets Directory](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Image-Asset-Directory) | Folder Name In Assets Directory |
| Test Mode | `test` | When running in Test Mode (`--run-tests` [option](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Local-Installation#run-tests)) only collections with `test: true` will be run<br>**Default:** `false` | **boolean:** `true` or `false` |
| Collection Creation Webhooks | `collection_creation_webhooks` | Used to specify a collection creation webhook for just this collection | List of webhooks |
| Collection Addition Webhooks | `collection_addition_webhooks` | Used to specify a collection addition webhook for just this collection | List of webhooks |
| Collection Removal Webhooks | `collection_removal_webhooks` | Used to specify a collection removal webhook for just this collection | List of webhooks |
* **Name Mapping:** If your collection name contains characters that are not allowed in file paths (i.e. for windows `<`, `>`, `:`, `"`, `/`, `\`, `|`, `?`, `*` cannot be in the file path), but you want them in your collection name you can use the `name_mapping` attribute to specific this collection's name in the file system.
@ -147,6 +150,7 @@ All the following attributes update various details of the metadata for every it
| Label Sync | `item_label.sync` | Matches the labels of every movie/show in the collection to the labels provided | Comma-separated string of labels to sync | :heavy_check_mark: | :heavy_check_mark: |
| Image Overlay | `item_overlay` | Adds and overlay image to the poster of every movie/show in the collection | [`item_overlay` details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Image-Overlay-Attribute) | :heavy_check_mark: | :heavy_check_mark: |
| Check For Assets | `item_assets` | Checks your assets folders for assets of every movie/show in the collection | `true` or `false`<br>**Default:** false | :heavy_check_mark: | :heavy_check_mark: |
| Refresh Item | `item_refresh` | Refreshes the metadata of every movie/show in the collection | `true` or `false`<br>**Default:** false | :heavy_check_mark: | :heavy_check_mark: |
| Episode Sorting | `item_episode_sorting` | Changes the episode sorting of every show in the collection | `default`: Library default<br>`oldest`: Oldest first<br>`newest`: Newest first | :x: | :heavy_check_mark: |
| Keep Episodes | `item_keep_episodes` | Changes the keep episodes of every show in the collection | `all`: All episodes<br>`5_latest`: 5 latest episodes<br>`3_latest`: 3 latest episodes<br>`latest`: Latest episodes<br>`past_3`: Episodes added in the past 3 days<br>`past_7`: Episodes added in the past 7 days<br>`past_30`: Episodes added in the past 30 days | :x: | :heavy_check_mark: |
| Delete Episodes | `item_delete_episodes` | Changes the delete episodes of every show in the collection | `never`: Never<br>`day`: After a day<br>`week`: After a week<br>`refresh`: On next refresh | :x: | :heavy_check_mark: |
@ -183,7 +187,7 @@ All the following attributes update the poster of the collection from various so
| TVDb Poster<sup>2</sup> | `tvdb_poster` | Used to change the collection's poster to the TVDb Movie poster for a movie library or the TVDb Show poster for a show library | TVDb Movie/Show ID or URL |
| File Poster<sup>2</sup> | `file_poster` | Used to change the collection's poster to the image in the file system | Path to image in the file system |
* If no poster is specified the script will look in the library's [Image Asset Directories](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes#image-asset-directory) for a folder named either the collection name or the `name_mapping` if specified and look for a `poster.ext` file in that folder (replacing .ext with the image extension).
* If no poster is specified the script will look in the library's [Image Asset Directories](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Image-Asset-Directory) for a folder named either the collection name or the `name_mapping` if specified and look for a `poster.ext` file in that folder (replacing .ext with the image extension).
## Background Details
All the following attributes update the background of the collection from various sources.
@ -195,4 +199,4 @@ All the following attributes update the background of the collection from variou
| TVDb Background<sup>3</sup> | `tvdb_background` | Used to change the collection's background to the TVDb Movie background for a movie library or the TVDb Show background for a show library | TVDb Movie/Show ID or URL |
| File Background<sup>3</sup> | `file_background` | Used to change the collection's background to the image in the file system | Path to image in the file system |
* If no background is specified the script will look in the library's [Image Asset Directories](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes#image-asset-directory) for a folder named either the collection name or the `name_mapping` if specified and look for a `background.ext` file in that folder (replacing .ext with the image extension).
* If no background is specified the script will look in the library's [Image Asset Directories](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Image-Asset-Directory) for a folder named either the collection name or the `name_mapping` if specified and look for a `background.ext` file in that folder (replacing .ext with the image extension).

@ -18,5 +18,6 @@ The YAML mappings that can be set in the configuration file's root:
| [OMDb](https://github.com/meisnate12/Plex-Meta-Manager/wiki/OMDb-Attributes) | `omdb` | :x: |
| [Trakt](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Trakt-Attributes) | `trakt` | :x: |
| [MyAnimeList](https://github.com/meisnate12/Plex-Meta-Manager/wiki/MyAnimeList-Attributes) | `mal` | :x: |
| [Webhooks](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Webhooks-Attributes) | `webhooks` | :x: |
* You can find a template config file in [config/config.yml.template](https://github.com/meisnate12/Plex-Meta-Manager/blob/master/config/config.yml.template)

@ -3,11 +3,12 @@
This wiki should tell you everything you need to know about the script to get it working.
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/meisnate12/Plex-Meta-Manager?style=plastic)](https://github.com/meisnate12/Plex-Meta-Manager/releases)
[![GitHub commits since latest release (by SemVer)](https://img.shields.io/github/commits-since/meisnate12/plex-meta-manager/latest/develop?label=Number%20of%20Commits%20in%20Develop&style=plastic)](https://github.com/meisnate12/Plex-Meta-Manager/tree/develop)
[![GitHub commits since latest release (by SemVer)](https://img.shields.io/github/commits-since/meisnate12/plex-meta-manager/latest/develop?label=Commits%20in%20Develop&style=plastic)](https://github.com/meisnate12/Plex-Meta-Manager/tree/develop)
[![Docker Image Version (latest semver)](https://img.shields.io/docker/v/meisnate12/plex-meta-manager?label=docker&sort=semver&style=plastic)](https://hub.docker.com/r/meisnate12/plex-meta-manager)
[![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/meisnate12/plex-meta-manager?style=plastic)](https://hub.docker.com/r/meisnate12/plex-meta-manager)
[![Docker Pulls](https://img.shields.io/docker/pulls/meisnate12/plex-meta-manager?style=plastic)](https://hub.docker.com/r/meisnate12/plex-meta-manager)
[![Discord](https://img.shields.io/discord/822460010649878528?label=Discord&style=plastic)](https://discord.gg/TsdpsFYqqm)
[![Donate](https://img.shields.io/badge/-Sponsor_or_Donate-blueviolet?style=plastic)](https://github.com/sponsors/meisnate12)
[![Sponsor or Donate](https://img.shields.io/badge/-Sponsor_or_Donate-blueviolet?style=plastic)](https://github.com/sponsors/meisnate12)
## Getting Started
@ -34,15 +35,19 @@ This wiki should tell you everything you need to know about the script to get it
- [unRAID Installation](unRAID-Installation)
- [Configuration File](Configuration-File)
- [Libraries Attributes](Libraries-Attributes)
- [Operations Attributes](Operations-Attributes)
- [Settings Attributes](Settings-Attributes)
- [Image Asset Directory](Image-Asset-Directory)
- [Webhook Attributes](Webhook-Attributes)
- [Plex Attributes](Plex-Attributes)
- [TMDb Attributes](TMDb-Attributes)
- [Radarr Attributes](Radarr-Attributes)
- [Sonarr Attributes](Sonarr-Attributes)
- [Tautulli Attributes](Tautulli-Attributes)
- [OMDb Attributes](OMDb-Attributes)
- [Trakt Attributes](Trakt-Attributes)
- [Notifiarr Attributes](Notifiarr-Attributes)
- [AniDB Attributes](AniDB-Attributes)
- [Radarr Attributes](Radarr-Attributes)
- [Sonarr Attributes](Sonarr-Attributes)
- [Trakt Attributes](Trakt-Attributes)
- [MyAnimeList Attributes](MyAnimeList-Attributes)
- [Metadata File](Metadata-File)
- [Metadata Attributes](Metadata-Attributes)

@ -0,0 +1,182 @@
The Image Asset Directories can be used to update the posters and backgrounds of collections, movies, shows, seasons, and episodes.
To use multiple Image Asset Directories you have to use a list. Comma-separated values will not work. By default, the program will look in the same folder as you config.yml for a folder called assets.
There are two different options when it comes to how the program looks at the files inside you Asset Directories. These can be toggled between by using `asset_folders`.
| Image Type | Image Path With Folders<br>`asset_folders: true` | Image Path Without Folder<br>`asset_folders: false` |
| :--- | :--- | :--- |
| Collection/Movie/Show poster | `assets/ASSET_NAME/poster.ext` | `assets/ASSET_NAME.ext` |
| Collection/Movie/Show background | `assets/ASSET_NAME/background.ext` | `assets/ASSET_NAME_background.ext` |
| Season poster | `assets/ASSET_NAME/Season##.ext` | `assets/ASSET_NAME_Season##.ext` |
| Season background | `assets/ASSET_NAME/Season##_background.ext` | `assets/ASSET_NAME_Season##_background.ext` |
| Episode poster | `assets/ASSET_NAME/S##E##.ext` | `assets/ASSET_NAME_S##E##.ext` |
* For **Collections** replace `ASSET_NAME` with the mapping name used with the collection unless `system_name` is specified, which you would then use what's specified in `system_name`.
* For **Movies** replace `ASSET_NAME` with the exact name of the folder the video file is stored in.
* For **Shows**, **Seasons**, and **Episodes** replace `ASSET_NAME` with the exact name of the folder for the show as a whole.
* For **Seasons** replace `##` with the zero padded season number (00 for specials)
* For **Episodes** replacing the first `##` with the zero padded season number (00 for specials), the second `##` with the zero padded episode number
* Replace `.ext` with the image extension
By default, the program will only look inside the Image Asset Directories for Images when it runs a collection from a Metadata File. When it does this by default it will only look for the collection images, but you can have it look for images of every item in the collection if you add `item_assets: true` to the collection config.
If you're using `asset_folders` set to true you can also nest movie/show folders inside an Image Assets Collection Folder that contains that movie/show.
You can set `assets_for_all` to true to have the program, after your run, check the Image Asset Directories for Images of every item in your library.
Here's an example config folder structure with an assets directory with `asset_folders` set to true and false.
### `asset_folders: true` without nesting
```
config
├── config.yml
├── Movies.yml
├── TV Shows.yml
├── assets
│ ├── The Lord of the Rings
│ ├── poster.png
│ ├── background.png
│ ├── The Lord of the Rings The Fellowship of the Ring (2001)
│ ├── poster.png
│ ├── background.png
│ ├── The Lord of the Rings The Two Towers (2002)
│ ├── poster.png
│ ├── background.png
│ ├── The Lord of the Rings The Return of the King (2003)
│ ├── poster.png
│ ├── background.png
│ ├── Star Wars (Animated)
│ ├── poster.png
│ ├── background.png
│ ├── Star Wars The Clone Wars
│ ├── poster.png
│ ├── background.png
│ ├── Season00.png
│ ├── Season01.png
│ ├── Season02.png
│ ├── Season03.png
│ ├── Season04.png
│ ├── Season05.png
│ ├── Season06.png
│ ├── Season07.png
│ ├── S07E01.png
│ ├── S07E02.png
│ ├── S07E03.png
│ ├── S07E04.png
│ ├── S07E05.png
│ ├── Star Wars Rebels
│ ├── poster.png
│ ├── background.png
│ ├── Season01.png
│ ├── Season01_background.png
│ ├── Season02.png
│ ├── Season02_background.png
│ ├── Season03.png
│ ├── Season03_background.png
│ ├── Season04.png
│ ├── Season04_background.png
```
### `asset_folders: true` with nesting
```
config
├── config.yml
├── Movies.yml
├── TV Shows.yml
├── assets
│ ├── The Lord of the Rings
│ ├── poster.png
│ ├── background.png
│ ├── The Lord of the Rings The Fellowship of the Ring (2001)
│ ├── poster.png
│ ├── background.png
│ ├── The Lord of the Rings The Two Towers (2002)
│ ├── poster.png
│ ├── background.png
│ ├── The Lord of the Rings The Return of the King (2003)
│ ├── poster.png
│ ├── background.png
│ ├── Star Wars (Animated)
│ ├── poster.png
│ ├── background.png
│ ├── Star Wars The Clone Wars
│ ├── poster.png
│ ├── background.png
│ ├── Season00.png
│ ├── Season01.png
│ ├── Season02.png
│ ├── Season03.png
│ ├── Season04.png
│ ├── Season05.png
│ ├── Season06.png
│ ├── Season07.png
│ ├── S07E01.png
│ ├── S07E02.png
│ ├── S07E03.png
│ ├── S07E04.png
│ ├── S07E05.png
│ ├── Star Wars Rebels
│ ├── poster.png
│ ├── background.png
│ ├── Season01.png
│ ├── Season01_background.png
│ ├── Season02.png
│ ├── Season02_background.png
│ ├── Season03.png
│ ├── Season03_background.png
│ ├── Season04.png
│ ├── Season04_background.png
```
### `asset_folders: false`
```
config
├── config.yml
├── Movies.yml
├── TV Shows.yml
├── assets
│ ├── The Lord of the Rings.png
│ ├── The Lord of the Rings_background.png
│ ├── The Lord of the Rings The Fellowship of the Ring (2001).png
│ ├── The Lord of the Rings The Fellowship of the Ring (2001)_background.png
│ ├── The Lord of the Rings The Two Towers (2002).png
│ ├── The Lord of the Rings The Two Towers (2002)_background.png
│ ├── The Lord of the Rings The Return of the King (2003).png
│ ├── The Lord of the Rings The Return of the King (2003)_background.png
│ ├── Star Wars (Animated).png
│ ├── Star Wars (Animated)_background.png
│ ├── Star Wars The Clone Wars.png
│ ├── Star Wars The Clone Wars_background.png
│ ├── Star Wars The Clone Wars_Season00.png
│ ├── Star Wars The Clone Wars_Season01.png
│ ├── Star Wars The Clone Wars_Season02.png
│ ├── Star Wars The Clone Wars_Season03.png
│ ├── Star Wars The Clone Wars_Season04.png
│ ├── Star Wars The Clone Wars_Season05.png
│ ├── Star Wars The Clone Wars_Season06.png
│ ├── Star Wars The Clone Wars_Season07.png
│ ├── Star Wars The Clone Wars_S07E01.png
│ ├── Star Wars The Clone Wars_S07E02.png
│ ├── Star Wars The Clone Wars_S07E03.png
│ ├── Star Wars The Clone Wars_S07E04.png
│ ├── Star Wars The Clone Wars_S07E05.png
│ ├── Star Wars Rebels.png
│ ├── Star Wars Rebels_background.png
│ ├── Star Wars Rebels_Season01.png
│ ├── Star Wars Rebels_Season01_background.png
│ ├── Star Wars Rebels_Season02.png
│ ├── Star Wars Rebels_Season02_background.png
│ ├── Star Wars Rebels_Season03.png
│ ├── Star Wars Rebels_Season03_background.png
│ ├── Star Wars Rebels_Season04.png
│ ├── Star Wars Rebels_Season04_background.png
```

@ -2,7 +2,7 @@ One of the two required configuration mappings is `libraries` which is where you
Each library is defined by the mapping name which must be the same as the library name unless a different `library_name` is specified. You can either set attributes individually per library or you can let them be inherited from the global value.
A simple example of multiple libraries all using the global values is below:
An advance example of multiple libraries with some using the global values and some having their own values is below:
```yaml
libraries:
Movies:
@ -12,20 +12,47 @@ libraries:
- git: meisnate12/Studios
- git: meisnate12/IMDBGenres
- git: meisnate12/People
mass_critic_rating_update: tmdb
split_duplicates: true
operations:
mass_critic_rating_update: tmdb
split_duplicates: true
TV Shows:
metadata_path:
- file: config/TV Shows.yml
- git: meisnate12/ShowCharts
- git: meisnate12/Networks
TV Shows On Second Plex:
library_name: TV Shows
plex:
url: http://192.168.1.98:32400
token: ####################
metadata_path:
- file: config/TV Shows.yml
- git: meisnate12/ShowCharts
- git: meisnate12/Networks
Anime:
metadata_path:
- file: config/Anime.yml
- git: meisnate12/AnimeCharts
radarr:
url: http://192.168.1.45:7878
token: ################################
root_folder_path: S:/Anime
settings:
asset_directory:
config/assets/anime
plex:
url: http://192.168.1.12:32400
token: ####################
radarr:
url: http://192.168.1.12:7878
token: ################################
add: true
root_folder_path: S:/Movies
monitor: true
availability: announced
quality_profile: HD-1080p
tag: pmm
search: false
```
The available attributes for each library are as follows
@ -34,13 +61,7 @@ The available attributes for each library are as follows
| :--- | :--- | :--- | :---: | :---: |
| [Library Name](#library-name) | `library_name` | Library name (Only needed when trying to use multiple libraries with the same name) | Base Attribute Name | :x: |
| [Metadata Path](#metadata-path) | `metadata_path` | Location for your Metadata YAML files | Same directory as config YAML file | :x: |
| Mass Genre Update | `mass_genre_update` | Updates every item's genres in the library to the chosen site's genres<br>`tmdb`: Use TMDb for Genres<br>`tvdb`: Use TVDb for Genres<br>`omdb`: Use IMDb through OMDb for Genres | No Update | :x: |
| Mass Audience Rating Update | `mass_audience_rating_update` | Updates every item's audience rating in the library to the chosen site's rating<br>`tmdb`: Use TMDb for Rating<br>`omdb`: Use IMDb through OMDb for Rating | No Update | :x: |
| Mass Critic Rating Update | `mass_critic_rating_update` | Updates every item's critic rating in the library to the chosen site's rating<br>`tmdb`: Use TMDb for Rating<br>`omdb`: Use IMDb through OMDb for Rating | No Update | :x: |
| Mass Trakt Rating Update | `mass_trakt_rating_update` | Updates every movie/show's user rating in the library to match your custom rating on Trakt if there is one<br>`true` or `false` | `false` | :x: |
| Split Duplicates | `split_duplicates` | Splits all duplicate movies/shows found in this library<br>`true` or `false` | `false` | :x: |
| Radarr Add All | `radarr_add_all` | Adds every item in the library to Radarr | No Adds | :x: |
| Sonarr Add All | `sonarr_add_all` | Adds every item in the library to Sonarr | No Adds | :x: |
| Operations Mapping | `operations` | [`operations` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Operations-Attributes) | N/A | :x: |
| Settings Mapping | `settings` | [`settings` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | global | :x: |
| Plex Mapping | `plex` | [`plex` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Plex-Attributes) | global | :heavy_check_mark: Either here or globally |
| Radarr Mapping | `radarr` | [`radarr` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes) | global | :x: |

@ -1,4 +1,4 @@
Configuring MyAnimeList.net API is optional but is required for MyAnimeList based collections to function.
Configuring [MyAnimeList](https://myanimelist.net/) is optional but is required for MyAnimeList based collections to function.
A `mal` mapping is in the root of the config file.

@ -0,0 +1,25 @@
Configuring [Notifiarr](https://notifiarr.com) is optional but can allow you to send the webhooks straight to notifiarr.
A `notifiarr` mapping is in the root of the config file.
Below is a `notifiarr` mapping example and the full set of attributes:
```yaml
notifiarr:
apikey: ####################################
```
| Name | Attribute | Allowed Values | Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| API Key | `apikey` | Notifiarr API Key | N/A | :heavy_check_mark: |
Once you have added the apikey your config.yml you have to add `notifiarr` to any webhook to send that notification to Notifiarr.
```yaml
webhooks:
error: notifiarr
run_start: notifiarr
run_end: notifiarr
collection_creation: notifiarr
collection_addition: notifiarr
collection_removing: notifiarr
```

@ -1,4 +1,4 @@
Configuring OMDb API is optional but can allow you to mass edit metadata using IMDb.
Configuring [OMDb](https://www.omdbapi.com/) is optional but can allow you to mass edit metadata using IMDb.
A `omdb` mapping is in the root of the config file.

@ -0,0 +1,29 @@
There are multiple different Library Operations you can have preformed on each of your libraries.
You can define which operations you want to run under the `operations` attribute you can define per library.
A simple example of using some operations is below:
```yaml
libraries:
Movies:
metadata_path:
- git: meisnate12/MovieCharts
operations:
mass_critic_rating_update: tmdb
split_duplicates: true
```
The available operations attributes for each library are as follows
| Name | Attribute | Description | Allowed Values |
| :--- | :--- | :--- | :--- |
| Image Assets For All | `assets_for_all` | Search in assets for images for every item in your library | `true` or `false` |
| Delete Collections With Less | `delete_collections_with_less` | Deletes every collection with less then the given number | number greater then 0 |
| Delete Unmanaged Collections | `delete_unmanaged_collections` | Deletes every unmanaged collection | `true` or `false` |
| Mass Genre Update | `mass_genre_update` | Updates every item's genres in the library to the chosen site's genres | `tmdb`: Use TMDb for Genres<br>`tvdb`: Use TVDb for Genres<br>`omdb`: Use IMDb through OMDb for Genres |
| Mass Audience Rating Update | `mass_audience_rating_update` | Updates every item's audience rating in the library to the chosen site's rating | `tmdb`: Use TMDb for Rating<br>`omdb`: Use IMDb through OMDb for Rating |
| Mass Critic Rating Update | `mass_critic_rating_update` | Updates every item's critic rating in the library to the chosen site's rating | `tmdb`: Use TMDb for Rating<br>`omdb`: Use IMDb through OMDb for Rating |
| Mass Trakt Rating Update | `mass_trakt_rating_update` | Updates every movie/show's user rating in the library to match your custom rating on Trakt if there is one | `true` or `false` |
| Split Duplicates | `split_duplicates` | Splits all duplicate movies/shows found in this library | `true` or `false` |
| Radarr Add All | `radarr_add_all` | Adds every item in the library to Radarr | `true` or `false` |
| Sonarr Add All | `sonarr_add_all` | Adds every item in the library to Sonarr | `true` or `false` |

@ -1,4 +1,4 @@
Configuring Plex is required in order to connect to your libraries.
Configuring [Plex](https://www.plex.tv/) is required in order to connect to your libraries.
A `plex` mapping can be either in the root of the config file as global mapping for all libraries or you can specify the `plex` mapping individually per library.

@ -1,4 +1,4 @@
Configuring Radarr is optional but will allow you to send movies to a Radarr instance when they're found missing while updating a library's collections.
Configuring [Radarr](https://radarr.video/) is optional but will allow you to send movies to a Radarr instance when they're found missing while updating a library's collections.
A `radarr` mapping can be either in the root of the config file as global mapping for all libraries or you can specify the `radarr` mapping individually per library.

@ -38,9 +38,12 @@ metadata:
```
The available attributes for each season are as follows
| Name | Attribute | Allowed Values |
| :--- | :--- | :--- |
| Title | `title` | Text to change Title |
| Summary | `summary` | Text to change Summary |
| URL Poster | `url_poster` | URL of image publicly available on the internet |
| File Poster | `file_poster` | Path to image in the file system |
| URL Background | `url_background` | URL of image publicly available on the internet |
| File Background | `file_background` | Path to image in the file system |

@ -9,22 +9,32 @@ settings:
cache_expiration: 60
asset_directory: config/assets
asset_folders: true
assets_for_all: false
sync_mode: append
run_again_delay: 0
show_unmanaged: true
show_filtered: false
show_missing: true
save_missing: true
run_again_delay: 2
released_missing_only: false
create_asset_folders: false
missing_only_released: false
collection_minimum: 1
delete_below_minimum: true
error_webhooks:
run_start_webhooks:
run_end_webhooks:
collection_creation_webhooks:
collection_addition_webhooks:
collection_removing_webhooks:
tvdb_language: eng
```
| Name | Attribute | Allowed Values | Default | Global Level | Library Level | Collection Level |
| :--- | :--- | :--- | :---: | :---: | :---: | :---: |
| Cache | `cache` | Create a cache database for faster processing. The cache file is created in the same location as your config file.<br>**boolean:** true or false | true | :heavy_check_mark: | :x: | :x: |
| Cache Expiration | `cache_expiration` | Number of days before each cache mapping expires and has to be reloaded | 60 | :heavy_check_mark: | :x: | :x: |
| [Image Asset Directory](#image-asset-directory) | `asset_directory` | System Locations For Image Assets | [Directory containing YAML config]/assets | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Image Asset Directory](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Image-Asset-Directory) | `asset_directory` | System Locations For Image Assets | [Directory containing YAML config]/assets | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Image Asset Folders | `asset_folders` | Search in assets for named folders vs named files<br>i.e. `assets/Star Wars.png` vs `assets/Star Wars/poster.png` | true | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Image Assets For All* | `assets_for_all` | Search in assets for images for every item in your library | false | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Create Asset Folders | `create_asset_folders` | When using `assets_for_all` if this is set to true PMM will create the Movie/Shows Folder for assets to be placed in | false | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Sync Mode | `sync_mode` | `append`: Only Add Items to the Collection<br>`sync`: Add & Remove Items from the Collection | append | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Collection Minimum | `collection_minimum` | Minimum items that must be found to add to a collection. | 1 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
@ -37,174 +47,3 @@ settings:
| Save Missing | `save_missing` | Library Level toggle to save movies/shows missing from collections to a file next to you Metadata file<br>**boolean:** true or false | true | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
\* The file/folder name in your assets directory must match the folder name the media is stored in. i.e. if you have `Movies/Star Wars (1977)/Star Wars (1977) [1080p].mp4` then your asset directory would look at `assets/Star Wars (1977)/poster.png` for the poster
## Image Asset Directory
The Image Asset Directories can be used to update the posters and backgrounds of collections, movies, shows, seasons, and episodes.
To use multiple Image Asset Directories you have to use a list. Comma-separated values will not work. By default, the program will look in the same folder as you config.yml for a folder called assets.
There are two different options when it comes to how the program looks at the files inside you Asset Directories. These can be toggled between by using `asset_folders`.
| Image Type | Image Path With Folders<br>`asset_folders: true` | Image Path Without Folder<br>`asset_folders: false` |
| :--- | :--- | :--- |
| Collection/Movie/Show poster | `assets/ASSET_NAME/poster.ext` | `assets/ASSET_NAME.ext` |
| Collection/Movie/Show background | `assets/ASSET_NAME/background.ext` | `assets/ASSET_NAME_background.ext` |
| Season poster | `assets/ASSET_NAME/Season##.ext` | `assets/ASSET_NAME_Season##.ext` |
| Episode poster | `assets/ASSET_NAME/S##E##.ext` | `assets/ASSET_NAME_S##E##.ext` |
* For **Collections** replace `ASSET_NAME` with the mapping name used with the collection unless `system_name` is specified, which you would then use what's specified in `system_name`.
* For **Movies** replace `ASSET_NAME` with the exact name of the folder the video file is stored in.
* For **Shows**, **Seasons**, and **Episodes** replace `ASSET_NAME` with the exact name of the folder for the show as a whole.
* For **Seasons** replace `##` with the zero padded season number (00 for specials)
* For **Episodes** replacing the first `##` with the zero padded season number (00 for specials), the second `##` with the zero padded episode number
* Replace `.ext` with the image extension
By default, the program will only look inside the Image Asset Directories for Images when it runs a collection from a Metadata File. When it does this by default it will only look for the collection images, but you can have it look for images of every item in the collection if you add `item_assets: true` to the collection config.
If you're using `asset_folders` set to true you can also nest movie/show folders inside an Image Assets Collection Folder that contains that movie/show.
You can set `assets_for_all` to true to have the program, after your run, check the Image Asset Directories for Images of every item in your library.
Here's an example config folder structure with an assets directory with `asset_folders` set to true and false.
### `asset_folders: true` without nesting
```
config
├── config.yml
├── Movies.yml
├── TV Shows.yml
├── assets
│ ├── The Lord of the Rings
│ ├── poster.png
│ ├── background.png
│ ├── The Lord of the Rings The Fellowship of the Ring (2001)
│ ├── poster.png
│ ├── background.png
│ ├── The Lord of the Rings The Two Towers (2002)
│ ├── poster.png
│ ├── background.png
│ ├── The Lord of the Rings The Return of the King (2003)
│ ├── poster.png
│ ├── background.png
│ ├── Star Wars (Animated)
│ ├── poster.png
│ ├── background.png
│ ├── Star Wars The Clone Wars
│ ├── poster.png
│ ├── background.png
│ ├── Season00.png
│ ├── Season01.png
│ ├── Season02.png
│ ├── Season03.png
│ ├── Season04.png
│ ├── Season05.png
│ ├── Season06.png
│ ├── Season07.png
│ ├── S07E01.png
│ ├── S07E02.png
│ ├── S07E03.png
│ ├── S07E04.png
│ ├── S07E05.png
│ ├── Star Wars Rebels
│ ├── poster.png
│ ├── background.png
│ ├── Season01.png
│ ├── Season02.png
│ ├── Season03.png
│ ├── Season04.png
```
### `asset_folders: true` with nesting
```
config
├── config.yml
├── Movies.yml
├── TV Shows.yml
├── assets
│ ├── The Lord of the Rings
│ ├── poster.png
│ ├── background.png
│ ├── The Lord of the Rings The Fellowship of the Ring (2001)
│ ├── poster.png
│ ├── background.png
│ ├── The Lord of the Rings The Two Towers (2002)
│ ├── poster.png
│ ├── background.png
│ ├── The Lord of the Rings The Return of the King (2003)
│ ├── poster.png
│ ├── background.png
│ ├── Star Wars (Animated)
│ ├── poster.png
│ ├── background.png
│ ├── Star Wars The Clone Wars
│ ├── poster.png
│ ├── background.png
│ ├── Season00.png
│ ├── Season01.png
│ ├── Season02.png
│ ├── Season03.png
│ ├── Season04.png
│ ├── Season05.png
│ ├── Season06.png
│ ├── Season07.png
│ ├── S07E01.png
│ ├── S07E02.png
│ ├── S07E03.png
│ ├── S07E04.png
│ ├── S07E05.png
│ ├── Star Wars Rebels
│ ├── poster.png
│ ├── background.png
│ ├── Season01.png
│ ├── Season02.png
│ ├── Season03.png
│ ├── Season04.png
```
### `asset_folders: false`
```
config
├── config.yml
├── Movies.yml
├── TV Shows.yml
├── assets
│ ├── The Lord of the Rings.png
│ ├── The Lord of the Rings_background.png
│ ├── The Lord of the Rings The Fellowship of the Ring (2001).png
│ ├── The Lord of the Rings The Fellowship of the Ring (2001)_background.png
│ ├── The Lord of the Rings The Two Towers (2002).png
│ ├── The Lord of the Rings The Two Towers (2002)_background.png
│ ├── The Lord of the Rings The Return of the King (2003).png
│ ├── The Lord of the Rings The Return of the King (2003)_background.png
│ ├── Star Wars (Animated).png
│ ├── Star Wars (Animated)_background.png
│ ├── Star Wars The Clone Wars.png
│ ├── Star Wars The Clone Wars_background.png
│ ├── Star Wars The Clone Wars_Season00.png
│ ├── Star Wars The Clone Wars_Season01.png
│ ├── Star Wars The Clone Wars_Season02.png
│ ├── Star Wars The Clone Wars_Season03.png
│ ├── Star Wars The Clone Wars_Season04.png
│ ├── Star Wars The Clone Wars_Season05.png
│ ├── Star Wars The Clone Wars_Season06.png
│ ├── Star Wars The Clone Wars_Season07.png
│ ├── Star Wars The Clone Wars_S07E01.png
│ ├── Star Wars The Clone Wars_S07E02.png
│ ├── Star Wars The Clone Wars_S07E03.png
│ ├── Star Wars The Clone Wars_S07E04.png
│ ├── Star Wars The Clone Wars_S07E05.png
│ ├── Star Wars Rebels.png
│ ├── Star Wars Rebels_background.png
│ ├── Star Wars Rebels_Season01.png
│ ├── Star Wars Rebels_Season02.png
│ ├── Star Wars Rebels_Season03.png
│ ├── Star Wars Rebels_Season04.png
```

@ -1,4 +1,4 @@
Configuring Sonarr is optional but will allow you to send shows to a Sonarr instance when they're found missing while updating a library's collections.
Configuring [Sonarr](https://sonarr.tv/) is optional but will allow you to send shows to a Sonarr instance when they're found missing while updating a library's collections.
A `sonarr` mapping can be either in the root of the config file as global mapping for all libraries or you can specify the `sonarr` mapping individually per library.

@ -1,4 +1,4 @@
Configuring TheMovieDb.org API is required in order to run the script.
Configuring [TheMovieDb](https://www.themoviedb.org/) is required in order to run the script.
A `tmdb` mapping is in the root of the config file.

@ -1,4 +1,4 @@
Configuring Tautulli API is optional but can allow you to create Collections based on Tautulli's Watch Statistics.
Configuring [Tautulli](https://tautulli.com/) is optional but can allow you to create Collections based on Tautulli's Watch Statistics.
A `tautulli` mapping can be either in the root of the config file as global mapping for all libraries or you can specify the `tautulli` mapping individually per library.

@ -1,4 +1,4 @@
Configuring Trakt.tv API is optional but is required for Trakt based collections to function.
Configuring [Trakt.tv](https://trakt.tv/) is optional but is required for Trakt based collections to function.
A `trakt` mapping is in the root of the config file.

@ -10,9 +10,21 @@ You can build different collections using the features of [Trakt.tv](https://tra
| [Trakt User Collection](#trakt-user-collection) | `trakt_collection` | Gets every movie/show in a Users Collection | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Trending](#trakt-trending) | `trakt_trending` | Gets the movies/shows in Trakt's Trending [Movies](https://trakt.tv/movies/trending)/[Shows](https://trakt.tv/shows/trending) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Popular](#trakt-popular) | `trakt_popular` | Gets the movies/shows in Trakt's Popular [Movies](https://trakt.tv/movies/popular)/[Shows](https://trakt.tv/shows/popular) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Recommended](#trakt-recommended) | `trakt_recommended` | Gets the movies/shows in Trakt's Recommended [Movies](https://trakt.tv/movies/recommended/weekly)/[Shows](https://trakt.tv/shows/recommended/weekly) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Watched](#trakt-watched) | `trakt_watched` | Gets the movies/shows in Trakt's Watched [Movies](https://trakt.tv/movies/watched/weekly)/[Shows](https://trakt.tv/shows/watched/weekly) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Collected](#trakt-collected) | `trakt_collected` | Gets the movies/shows in Trakt's Collected [Movies](https://trakt.tv/movies/collected/weekly)/[Shows](https://trakt.tv/shows/collected/weekly) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Recommended Daily](#trakt-recommended) | `trakt_recommended_daily` | Gets the movies/shows in Trakt's Daily Recommended [Movies](https://trakt.tv/movies/recommended/daily)/[Shows](https://trakt.tv/shows/recommended/daily) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Recommended Weekly](#trakt-recommended) | `trakt_recommended_weekly` | Gets the movies/shows in Trakt's Weekly Recommended [Movies](https://trakt.tv/movies/recommended/weekly)/[Shows](https://trakt.tv/shows/recommended/weekly) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Recommended Monthly](#trakt-recommended) | `trakt_recommended_monthly` | Gets the movies/shows in Trakt's Monthly Recommended [Movies](https://trakt.tv/movies/recommended/monthly)/[Shows](https://trakt.tv/shows/recommended/monthly) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Recommended Yearly](#trakt-recommended) | `trakt_recommended_yearly` | Gets the movies/shows in Trakt's Yearly Recommended [Movies](https://trakt.tv/movies/recommended/yearly)/[Shows](https://trakt.tv/shows/recommended/yearly) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Recommended All-Time](#trakt-recommended) | `trakt_recommended_all` | Gets the movies/shows in Trakt's All-Time Recommended [Movies](https://trakt.tv/movies/recommended/all)/[Shows](https://trakt.tv/shows/recommended/all) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Watched Daily](#trakt-watched) | `trakt_watched_daily` | Gets the movies/shows in Trakt's Daily Watched [Movies](https://trakt.tv/movies/watched/daily)/[Shows](https://trakt.tv/shows/watched/daily) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Watched Weekly](#trakt-watched) | `trakt_watched_weekly` | Gets the movies/shows in Trakt's Weekly Watched [Movies](https://trakt.tv/movies/watched/weekly)/[Shows](https://trakt.tv/shows/watched/weekly) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Watched Monthly](#trakt-watched) | `trakt_watched_monthly` | Gets the movies/shows in Trakt's Monthly Watched [Movies](https://trakt.tv/movies/watched/monthly)/[Shows](https://trakt.tv/shows/watched/monthly) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Watched Yearly](#trakt-watched) | `trakt_watched_yearly` | Gets the movies/shows in Trakt's Yearly Watched [Movies](https://trakt.tv/movies/watched/yearly)/[Shows](https://trakt.tv/shows/watched/yearly) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Watched All-Time](#trakt-watched) | `trakt_watched_all` | Gets the movies/shows in Trakt's All-Time Watched [Movies](https://trakt.tv/movies/watched/all)/[Shows](https://trakt.tv/shows/watched/all) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Collected Daily](#trakt-collected) | `trakt_collected_daily` | Gets the movies/shows in Trakt's Daily Collected [Movies](https://trakt.tv/movies/collected/daily)/[Shows](https://trakt.tv/shows/collected/daily) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Collected Weekly](#trakt-collected) | `trakt_collected_weekly` | Gets the movies/shows in Trakt's Weekly Collected [Movies](https://trakt.tv/movies/collected/weekly)/[Shows](https://trakt.tv/shows/collected/weekly) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Collected Monthly](#trakt-collected) | `trakt_collected_monthly` | Gets the movies/shows in Trakt's Monthly Collected [Movies](https://trakt.tv/movies/collected/monthly)/[Shows](https://trakt.tv/shows/collected/monthly) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Collected Yearly](#trakt-collected) | `trakt_collected_yearly` | Gets the movies/shows in Trakt's Yearly Collected [Movies](https://trakt.tv/movies/collected/yearly)/[Shows](https://trakt.tv/shows/collected/yearly) list | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Collected All-Time](#trakt-collected) | `trakt_collected_all` | Gets the movies/shows in Trakt's All-Time Collected [Movies](https://trakt.tv/movies/collected/all)/[Shows](https://trakt.tv/shows/collected/all) list | :heavy_check_mark: | :heavy_check_mark: |
## Trakt List
Gets every movie/show in the Trakt List.
@ -102,7 +114,15 @@ collections:
```
## Trakt Recommended
Gets the movies/shows in Trakt's Recommended [Movies](https://trakt.tv/movies/recommended/weekly)/[Shows](https://trakt.tv/shows/recommended/weekly) list.
Gets the movies/shows in Trakt's Recommended lists.
| Builder | Period | Movie List | Show List |
| :--- | :---: | :---: | :---: |
| `trakt_recommended_daily` | Daily | [Daily Movies](https://trakt.tv/movies/recommended/daily) | [Daily Shows](https://trakt.tv/shows/recommended/daily) |
| `trakt_recommended_weekly` | Weekly | [Weekly Movies](https://trakt.tv/movies/recommended/weekly) | [Weekly Shows](https://trakt.tv/shows/recommended/weekly) |
| `trakt_recommended_monthly` | Monthly | [Monthly Movies](https://trakt.tv/movies/recommended/monthly) | [Monthly Shows](https://trakt.tv/shows/recommended/monthly) |
| `trakt_recommended_yearly` | Yearly | [Yearly Movies](https://trakt.tv/movies/recommended/yearly) | [Yearly Shows](https://trakt.tv/shows/recommended/yearly) |
| `trakt_recommended_all` | All-Time | [All-Time Movies](https://trakt.tv/movies/recommended/all) | [All-Time Shows](https://trakt.tv/shows/recommended/all) |
The expected input is a single integer value of how many movies/shows to query.
@ -111,12 +131,20 @@ The `sync_mode: sync` option is also recommended since the Trakt Recommended lis
```yaml
collections:
Trakt Recommended:
trakt_recommended: 30
trakt_recommended_weekly: 30
sync_mode: sync
```
## Trakt Watched
Gets the movies/shows in Trakt's Watched [Movies](https://trakt.tv/movies/watched/weekly)/[Shows](https://trakt.tv/shows/watched/weekly) list.
Gets the movies/shows in Trakt's Watched lists.
| Builder | Period | Movie List | Show List |
| :--- | :---: | :---: | :---: |
| `trakt_watched_daily` | Daily | [Daily Movies](https://trakt.tv/movies/watched/daily) | [Daily Shows](https://trakt.tv/shows/watched/daily) |
| `trakt_watched_weekly` | Weekly | [Weekly Movies](https://trakt.tv/movies/watched/weekly) | [Weekly Shows](https://trakt.tv/shows/watched/weekly) |
| `trakt_watched_monthly` | Monthly | [Monthly Movies](https://trakt.tv/movies/watched/monthly) | [Monthly Shows](https://trakt.tv/shows/watched/monthly) |
| `trakt_watched_yearly` | Yearly | [Yearly Movies](https://trakt.tv/movies/watched/yearly) | [Yearly Shows](https://trakt.tv/shows/watched/yearly) |
| `trakt_watched_all` | All-Time | [All-Time Movies](https://trakt.tv/movies/watched/all) | [All-Time Shows](https://trakt.tv/shows/watched/all) |
The expected input is a single integer value of how many movies/shows to query.
@ -125,13 +153,21 @@ The `sync_mode: sync` option is also recommended since the Trakt Watched lists a
```yaml
collections:
Trakt Watched:
trakt_watched: 30
trakt_watched_weekly: 30
sync_mode: sync
```
## Trakt Collected
Gets the movies/shows in Trakt's Collected [Movies](https://trakt.tv/movies/collected/weekly)/[Shows](https://trakt.tv/shows/collected/weekly) list.
| Builder | Period | Movie List | Show List |
| :--- | :---: | :---: | :---: |
| `trakt_collected_daily` | Daily | [Daily Movies](https://trakt.tv/movies/collected/daily) | [Daily Shows](https://trakt.tv/shows/collected/daily) |
| `trakt_collected_weekly` | Weekly | [Weekly Movies](https://trakt.tv/movies/collected/weekly) | [Weekly Shows](https://trakt.tv/shows/collected/weekly) |
| `trakt_collected_monthly` | Monthly | [Monthly Movies](https://trakt.tv/movies/collected/monthly) | [Monthly Shows](https://trakt.tv/shows/collected/monthly) |
| `trakt_collected_yearly` | Yearly | [Yearly Movies](https://trakt.tv/movies/collected/yearly) | [Yearly Shows](https://trakt.tv/shows/collected/yearly) |
| `trakt_collected_all` | All-Time | [All-Time Movies](https://trakt.tv/movies/collected/all) | [All-Time Shows](https://trakt.tv/shows/collected/all) |
The expected input is a single integer value of how many movies/shows to query.
The `sync_mode: sync` option is also recommended since the Trakt Collected lists are continuously updated.
@ -139,6 +175,6 @@ The `sync_mode: sync` option is also recommended since the Trakt Collected lists
```yaml
collections:
Trakt Collected:
trakt_collected: 30
trakt_collected_weekly: 30
sync_mode: sync
```

@ -0,0 +1,133 @@
Configuring Webhooks is optional but can allow you to receive notifications when certain events happen.
A `webhooks` mapping is in the root of the config file.
Below is a `webhooks` mapping example and the full set of attributes:
```yaml
webhooks:
error: https://www.myspecialdomain.com/pmm
run_start:
run_end:
collection_creation:
collection_addition:
collection_removal:
```
| Name | Attribute | Description | Global | Library | Collection |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [Error](#error-notifications) | `error` | | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Run Start](#run-start-notifications) | `run_start` | | :heavy_check_mark: | :x: | :x: |
| [Run End](#run-end-notifications) | `run_end` | | :heavy_check_mark: | :x: | :x: |
| [Collection Creation](#collection-notifications) | `collection_creation` | | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Collection Addition](#collection-notifications) | `collection_addition` | | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Collection Removal](#collection-notifications) | `collection_removal` | | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
* Each Attribute can be either a webhook url as a string or a comma-separated list of webhooks urls.
* To send notifications to [Notifiarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Notifiarr-Attributes) just add `notifiarr` to a webhook instead of the webhook url.
## Error Notifications
The Error notification will be sent whenever an error occurs. The payload that is sent is different Depending on which level the error occurs.
#### JSON Payload
<table>
<tr>
<th>Global</th>
<th>Library</th>
<th>Collection</th>
</tr>
<tr>
<td>
```yaml
{
"error": str, // Error Message
"critical": bool // Critical Error
}
```
</td>
<td>
```yaml
{
"error": str, // Error Message
"critical": bool, // Critical Error
"server_name": str, // Server Name
"library_name": str // Library Name
}
```
</td>
<td>
```yaml
{
"error": str, // Error Message
"critical": bool, // Critical Error
"server_name": str, // Server Name
"library_name": str, // Library Name
"collection": str // Collection Name
}
```
</td>
</tr>
</table>
## Run Start Notifications
The Run Start notification will be sent at the beginning of every run.
#### JSON Payload
```yaml
{
"start_time": str, // Time Run is started Format "HH:MM"
}
```
## Run End Notifications
The Run End notification will be sent at the end of every run with statistics.
#### JSON Payload
```yaml
{
"start_time": str, // Time Run is started Format "YY-mm-ddTHH:MM:SSZ"
"run_time": str, // Time Run took to complete Format "HH:MM"
"collections_created": int, // Number of Collections Created
"collections_modified": int, // Number of Collections Modified
"collections_deleted": int, // Number of Collections Removed
"items_added": int, // Number of Items added across all Collections
"items_removed": int, // Number of Items removed across all Collections
"added_to_radarr": int, // Number of Items added to Radarr
"added_to_sonarr": int // Number of Items added to Sonarr
}
```
## Collection Notifications
The Collection Notification will be sent after each collection, containing the following payload.
#### JSON Payload
```yaml
{
"start_time": str, // Time Run is started Format "YY-mm-ddTHH:MM:SSZ"
"library_name": str, // Library Name
"type": str, // Will be either "movie" or "show"
"collection": str, // Collection Name
"created": bool, // Was the Collection Created on this run
"poster": str, // Base64 Encoded Collection Poster
"background": str, // Base64 Encoded Collection Background
"additions": [int], // List of TMDb IDs (type=movie) or TVDb IDs (type=show) added to the colleciton
"removals": [int] // List of TMDb IDs (type=movie) or TVDb IDs (type=show) removed from the colleciton
}
```
* `additions` is only in the payload when `collection_addition` is used.
* `removals` is only in the payload when `collection_removing` is used.

@ -5,15 +5,19 @@
- [unRAID Installation](unRAID-Installation)
- [Configuration File](Configuration-File)
- [Libraries Attributes](Libraries-Attributes)
- [Operations Attributes](Operations-Attributes)
- [Settings Attributes](Settings-Attributes)
- [Image Asset Directory](Image-Asset-Directory)
- [Webhook Attributes](Webhook-Attributes)
- [Plex Attributes](Plex-Attributes)
- [TMDb Attributes](TMDb-Attributes)
- [Radarr Attributes](Radarr-Attributes)
- [Sonarr Attributes](Sonarr-Attributes)
- [Tautulli Attributes](Tautulli-Attributes)
- [OMDb Attributes](OMDb-Attributes)
- [Trakt Attributes](Trakt-Attributes)
- [Notifiarr Attributes](Notifiarr-Attributes)
- [AniDB Attributes](AniDB-Attributes)
- [Radarr Attributes](Radarr-Attributes)
- [Sonarr Attributes](Sonarr-Attributes)
- [Trakt Attributes](Trakt-Attributes)
- [MyAnimeList Attributes](MyAnimeList-Attributes)
- [Metadata File](Metadata-File)
- [Metadata Attributes](Metadata-Attributes)

Loading…
Cancel
Save