3
0
mirror of https://github.com/grafana/grafana.git synced 2025-02-25 18:55:37 -06:00

Added override default recipient functionality

This commit is contained in:
utkarshcmu 2016-10-31 14:46:51 -07:00
parent 658fc1a67a
commit 80fdd830de
2 changed files with 16 additions and 0 deletions
pkg/services/alerting/notifiers
public/app/features/alerting/partials

View File

@ -22,9 +22,12 @@ func NewSlackNotifier(model *m.AlertNotification) (alerting.Notifier, error) {
return nil, alerting.ValidationError{Reason: "Could not find url property in settings"}
}
recipient := model.Settings.Get("recipient").MustString()
return &SlackNotifier{
NotifierBase: NewNotifierBase(model.Id, model.IsDefault, model.Name, model.Type, model.Settings),
Url: url,
Recipient: recipient,
log: log.New("alerting.notifier.slack"),
}, nil
}
@ -32,6 +35,7 @@ func NewSlackNotifier(model *m.AlertNotification) (alerting.Notifier, error) {
type SlackNotifier struct {
NotifierBase
Url string
Recipient string
log log.Logger
}
@ -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)
cmd := &m.SendWebhookSync{Url: this.Url, Body: string(data)}

View File

@ -63,6 +63,13 @@
<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>
</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 class="gf-form-group section" ng-if="ctrl.model.type === 'email'">