New: Channel setting for Slack notifications to override default channel
Closes #2311
This commit is contained in:
parent
b45b2017a8
commit
e11e8ad272
|
@ -1,4 +1,4 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace NzbDrone.Core.Notifications.Slack.Payloads
|
||||
|
@ -15,6 +15,8 @@ namespace NzbDrone.Core.Notifications.Slack.Payloads
|
|||
[JsonProperty("icon_url")]
|
||||
public string IconUrl { get; set; }
|
||||
|
||||
public string Channel { get; set; }
|
||||
|
||||
public List<Attachment> Attachments { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using FluentValidation.Results;
|
||||
using NLog;
|
||||
|
@ -107,6 +107,7 @@ namespace NzbDrone.Core.Notifications.Slack
|
|||
private SlackPayload CreatePayload(string message, List<Attachment> attachments = null)
|
||||
{
|
||||
var icon = Settings.Icon;
|
||||
var channel = Settings.Channel;
|
||||
|
||||
var payload = new SlackPayload
|
||||
{
|
||||
|
@ -128,6 +129,11 @@ namespace NzbDrone.Core.Notifications.Slack
|
|||
}
|
||||
}
|
||||
|
||||
if (channel.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
payload.Channel = channel;
|
||||
}
|
||||
|
||||
return payload;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using FluentValidation;
|
||||
using FluentValidation;
|
||||
using NzbDrone.Core.Annotations;
|
||||
using NzbDrone.Core.ThingiProvider;
|
||||
using NzbDrone.Core.Validation;
|
||||
|
@ -27,6 +27,9 @@ namespace NzbDrone.Core.Notifications.Slack
|
|||
[FieldDefinition(2, Label = "Icon", HelpText = "Change the icon that is used for messages from this integration (Emoji or URL)", Type = FieldType.Textbox, HelpLink = "http://www.emoji-cheat-sheet.com/")]
|
||||
public string Icon { get; set; }
|
||||
|
||||
[FieldDefinition(3, Label = "Channel", HelpText = "Overrides the default channel for the incoming webhook (#other-channel)", Type = FieldType.Textbox)]
|
||||
public string Channel { get; set; }
|
||||
|
||||
public NzbDroneValidationResult Validate()
|
||||
{
|
||||
return new NzbDroneValidationResult(Validator.Validate(this));
|
||||
|
|
Loading…
Reference in New Issue