mirror of
https://github.com/TwiN/gatus.git
synced 2024-12-14 11:58:04 +00:00
feat(alerting): Add optional field alerting.mattermost.channel (#823)
* Add optional field alerting.mattermost.channel * Added omitempty to channel in Body for Mattermost * Update README.md * Update alerting/provider/mattermost/mattermost.go * Expose channel configuration parameter through alerting.mattermost.channel --------- Co-authored-by: Gerrit <gerrit.abma@logius.nl> Co-authored-by: TwiN <twin@linux.com>
This commit is contained in:
parent
f55f39fa33
commit
b0c2f1eba9
2 changed files with 6 additions and 0 deletions
|
@ -915,6 +915,7 @@ endpoints:
|
|||
|:----------------------------------------------|:--------------------------------------------------------------------------------------------|:--------------|
|
||||
| `alerting.mattermost` | Configuration for alerts of type `mattermost` | `{}` |
|
||||
| `alerting.mattermost.webhook-url` | Mattermost Webhook URL | Required `""` |
|
||||
| `alerting.mattermost.channel` | Mattermost channel name override (optional) | `""` |
|
||||
| `alerting.mattermost.client` | Client configuration. <br />See [Client configuration](#client-configuration). | `{}` |
|
||||
| `alerting.mattermost.default-alert` | Default alert configuration. <br />See [Setting a default alert](#setting-a-default-alert). | N/A |
|
||||
| `alerting.mattermost.overrides` | List of overrides that may be prioritized over the default configuration | `[]` |
|
||||
|
|
|
@ -16,6 +16,9 @@ import (
|
|||
type AlertProvider struct {
|
||||
WebhookURL string `yaml:"webhook-url"`
|
||||
|
||||
// Channel is the optional setting to override the default webhook's channel
|
||||
Channel string `yaml:"channel,omitempty"`
|
||||
|
||||
// ClientConfig is the configuration of the client used to communicate with the provider's target
|
||||
ClientConfig *client.Config `yaml:"client,omitempty"`
|
||||
|
||||
|
@ -70,6 +73,7 @@ func (provider *AlertProvider) Send(ep *endpoint.Endpoint, alert *alert.Alert, r
|
|||
}
|
||||
|
||||
type Body struct {
|
||||
Channel string `json:"channel,omitempty"` // Optional channel override
|
||||
Text string `json:"text"`
|
||||
Username string `json:"username"`
|
||||
IconURL string `json:"icon_url"`
|
||||
|
@ -118,6 +122,7 @@ func (provider *AlertProvider) buildRequestBody(ep *endpoint.Endpoint, alert *al
|
|||
description = ":\n> " + alertDescription
|
||||
}
|
||||
body := Body{
|
||||
Channel: provider.Channel,
|
||||
Text: "",
|
||||
Username: "gatus",
|
||||
IconURL: "https://raw.githubusercontent.com/TwiN/gatus/master/.github/assets/logo.png",
|
||||
|
|
Loading…
Reference in a new issue