Commit 2f60929d by utkarshcmu

Added slack mention functionality

parent 6fa89456
...@@ -23,11 +23,13 @@ func NewSlackNotifier(model *m.AlertNotification) (alerting.Notifier, error) { ...@@ -23,11 +23,13 @@ func NewSlackNotifier(model *m.AlertNotification) (alerting.Notifier, error) {
} }
recipient := model.Settings.Get("recipient").MustString() recipient := model.Settings.Get("recipient").MustString()
mention := model.Settings.Get("mention").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, Recipient: recipient,
Mention: mention,
log: log.New("alerting.notifier.slack"), log: log.New("alerting.notifier.slack"),
}, nil }, nil
} }
...@@ -36,6 +38,7 @@ type SlackNotifier struct { ...@@ -36,6 +38,7 @@ type SlackNotifier struct {
NotifierBase NotifierBase
Url string Url string
Recipient string Recipient string
Mention string
log log.Logger log log.Logger
} }
...@@ -70,9 +73,9 @@ func (this *SlackNotifier) Notify(evalContext *alerting.EvalContext) error { ...@@ -70,9 +73,9 @@ func (this *SlackNotifier) Notify(evalContext *alerting.EvalContext) error {
}) })
} }
message := "" message := this.Mention
if evalContext.Rule.State != m.AlertStateOK { //dont add message when going back to alert state ok. if evalContext.Rule.State != m.AlertStateOK { //dont add message when going back to alert state ok.
message = evalContext.Rule.Message message += " " + evalContext.Rule.Message
} }
body := map[string]interface{}{ body := map[string]interface{}{
......
...@@ -74,6 +74,17 @@ ...@@ -74,6 +74,17 @@
Override default channel or user, use #channel-name or @username Override default channel or user, use #channel-name or @username
</info-popover> </info-popover>
</div> </div>
<div class="gf-form max-width-30">
<span class="gf-form-label width-6">Mention</span>
<input type="text"
class="gf-form-input max-width-30"
ng-model="ctrl.model.settings.mention"
data-placement="right">
</input>
<info-popover mode="right-absolute">
Mention a user or a group using @ when notifying in a channel
</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'">
......
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