New: Health Check Failure Notifications (#609)

* New: Health Check Failure Notifications

Fixes #295

* New: OnDownloadFailure and OnImportFailure Notification

* New: On Retag notifications

* Fixed: XBMC notification test

* New: Discord Notifications

Closes #1511

* On Download to On Import on card

* Remove OnDownload, Rename OnAlbumDownload -> OnReleaseImported

* Fixed: Webhook OnReleaseImport notification

* Respect OnUpgrade and fix missing schema items for frontend

* New: Simplify Notification Modal UI

* Fixed: PlexHomeTheater OnReleaseImport notification
This commit is contained in:
Qstick 2019-03-21 20:47:54 -04:00 committed by GitHub
parent 4d8bcd12e3
commit d4d9146599
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
52 changed files with 1262 additions and 427 deletions

View file

@ -41,23 +41,23 @@ namespace NzbDrone.Core.Notifications.Webhook
_proxy.SendWebhook(payload, Settings);
}
public override void OnDownload(TrackDownloadMessage message)
public override void OnReleaseImport(AlbumDownloadMessage message)
{
var trackFile = message.TrackFile;
var trackFiles = message.TrackFiles;
var payload = new WebhookImportPayload
{
EventType = "Download",
Artist = new WebhookArtist(message.Artist),
Tracks = trackFile.Tracks.Value.ConvertAll(x => new WebhookTrack(x)
Tracks = trackFiles.SelectMany(x => x.Tracks.Value.Select(y => new WebhookTrack(y)
{
// TODO: Stop passing these parameters inside an episode v3
Quality = trackFile.Quality.Quality.Name,
QualityVersion = trackFile.Quality.Revision.Version,
ReleaseGroup = trackFile.ReleaseGroup
}),
TrackFile = new WebhookTrackFile(trackFile),
Quality = x.Quality.Quality.Name,
QualityVersion = x.Quality.Revision.Version,
ReleaseGroup = x.ReleaseGroup
})).ToList(),
TrackFiles = trackFiles.ConvertAll(x => new WebhookTrackFile(x)),
IsUpgrade = message.OldFiles.Any()
};
@ -75,6 +75,17 @@ namespace NzbDrone.Core.Notifications.Webhook
_proxy.SendWebhook(payload, Settings);
}
public override void OnTrackRetag(TrackRetagMessage message)
{
var payload = new WebhookPayload
{
EventType = "Retag",
Artist = new WebhookArtist(message.Artist)
};
_proxy.SendWebhook(payload, Settings);
}
public override string Name => "Webhook";
public override ValidationResult Test()