Commit 80fdd830 by utkarshcmu

Added override default recipient functionality

parent 658fc1a6
...@@ -22,9 +22,12 @@ func NewSlackNotifier(model *m.AlertNotification) (alerting.Notifier, error) { ...@@ -22,9 +22,12 @@ func NewSlackNotifier(model *m.AlertNotification) (alerting.Notifier, error) {
return nil, alerting.ValidationError{Reason: "Could not find url property in settings"} return nil, alerting.ValidationError{Reason: "Could not find url property in settings"}
} }
recipient := model.Settings.Get("recipient").MustString()
return &SlackNotifier{ return &SlackNotifier{
NotifierBase: NewNotifierBase(model.Id, model.IsDefault, model.Name, model.Type, model.Settings), NotifierBase: NewNotifierBase(model.Id, model.IsDefault, model.Name, model.Type, model.Settings),
Url: url, Url: url,
Recipient: recipient,
log: log.New("alerting.notifier.slack"), log: log.New("alerting.notifier.slack"),
}, nil }, nil
} }
...@@ -32,6 +35,7 @@ func NewSlackNotifier(model *m.AlertNotification) (alerting.Notifier, error) { ...@@ -32,6 +35,7 @@ func NewSlackNotifier(model *m.AlertNotification) (alerting.Notifier, error) {
type SlackNotifier struct { type SlackNotifier struct {
NotifierBase NotifierBase
Url string Url string
Recipient string
log log.Logger log log.Logger
} }
...@@ -87,6 +91,11 @@ func (this *SlackNotifier) Notify(evalContext *alerting.EvalContext) error { ...@@ -87,6 +91,11 @@ func (this *SlackNotifier) Notify(evalContext *alerting.EvalContext) error {
}, },
} }
//recipient override
if this.Recipient != "" {
body["channel"] = this.Recipient
}
data, _ := json.Marshal(&body) data, _ := json.Marshal(&body)
cmd := &m.SendWebhookSync{Url: this.Url, Body: string(data)} cmd := &m.SendWebhookSync{Url: this.Url, Body: string(data)}
......
...@@ -63,6 +63,13 @@ ...@@ -63,6 +63,13 @@
<span class="gf-form-label width-6">Url</span> <span class="gf-form-label width-6">Url</span>
<input type="text" required class="gf-form-input max-width-30" ng-model="ctrl.model.settings.url" placeholder="Slack incoming webhook url"></input> <input type="text" required class="gf-form-input max-width-30" ng-model="ctrl.model.settings.url" placeholder="Slack incoming webhook url"></input>
</div> </div>
<div class="gf-form">
<span class="gf-form-label width-6">Recipient</span>
<input type="text" class="gf-form-input max-width-30"
ng-model="ctrl.model.settings.recipient"
placeholder="Override default channel or user, use #channel-name or @username">
</input>
</div>
</div> </div>
<div class="gf-form-group section" ng-if="ctrl.model.type === 'email'"> <div class="gf-form-group section" ng-if="ctrl.model.type === 'email'">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment