mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Merge branch 'utkarshcmu-slack_notifier'
This commit is contained in:
commit
39f9db8650
@ -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) {
|
|||||||
type SlackNotifier struct {
|
type SlackNotifier struct {
|
||||||
NotifierBase
|
NotifierBase
|
||||||
Url string
|
Url string
|
||||||
|
Recipient string
|
||||||
log log.Logger
|
log log.Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,6 +89,12 @@ func (this *SlackNotifier) Notify(evalContext *alerting.EvalContext) error {
|
|||||||
"ts": time.Now().Unix(),
|
"ts": time.Now().Unix(),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"parse": "full", // to linkify urls, users and channels in alert message.
|
||||||
|
}
|
||||||
|
|
||||||
|
//recipient override
|
||||||
|
if this.Recipient != "" {
|
||||||
|
body["channel"] = this.Recipient
|
||||||
}
|
}
|
||||||
|
|
||||||
data, _ := json.Marshal(&body)
|
data, _ := json.Marshal(&body)
|
||||||
|
@ -59,10 +59,21 @@
|
|||||||
|
|
||||||
<div class="gf-form-group" ng-if="ctrl.model.type === 'slack'">
|
<div class="gf-form-group" ng-if="ctrl.model.type === 'slack'">
|
||||||
<h3 class="page-heading">Slack settings</h3>
|
<h3 class="page-heading">Slack settings</h3>
|
||||||
<div class="gf-form">
|
<div class="gf-form max-width-30">
|
||||||
<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 max-width-30">
|
||||||
|
<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"
|
||||||
|
data-placement="right">
|
||||||
|
</input>
|
||||||
|
<info-popover mode="right-absolute">
|
||||||
|
Override default channel or user, use #channel-name or <@username></@username>
|
||||||
|
</info-popover>
|
||||||
|
</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'">
|
||||||
|
Loading…
Reference in New Issue
Block a user