-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: implement webhook_url_file for discord and msteams #3555
Conversation
implements prometheus#3482 Signed-off-by: Philipp Born <git@pborn.eu>
implements prometheus#3536 Signed-off-by: Philipp Born <git@pborn.eu>
We would love to have this feature in the next release, @simonpasquier / @gotjosh could you maybe take a look? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not a Alertmanager maintainer, so I cannot merge this - but in general LGTM! Nice work! 👍
if n.conf.WebhookURL != nil { | ||
url = n.conf.WebhookURL.String() | ||
} else { | ||
content, err := os.ReadFile(n.conf.WebhookURLFile) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A bit of a nit, but perhaps call this b
instead of content
. Two reasons:
- It's short.
- It's a somewhat idiomatic way of telling other maintainers that this variable is a byte slice instead of a string without having to check the docs for
os.ReadFile
.
content, err := os.ReadFile(n.conf.WebhookURLFile) | |
b, err := os.ReadFile(n.conf.WebhookURLFile) |
|
||
f, err := os.CreateTemp("", "webhook_url") | ||
require.NoError(t, err, "creating temp file failed") | ||
_, err = f.WriteString(u.String() + "\n") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good test, to check for removing whitespace! 👍
if n.conf.WebhookURL != nil { | ||
url = n.conf.WebhookURL.String() | ||
} else { | ||
content, err := os.ReadFile(n.conf.WebhookURLFile) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
content, err := os.ReadFile(n.conf.WebhookURLFile) | |
b, err := os.ReadFile(n.conf.WebhookURLFile) |
@tamcore Do you have time to implement the proposed changes? |
@dbluxo early next week maybe. If there'd be an official word about approval. But it should maybe also be considered, that the current code more or less lines up with the other receiver implementations. The proposed changes seem to make sense - but I feel like having it uniform might be preferable. |
@tamcore Thanks for your response, I think being consistent with the other receivers is a valid approach. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thank you so much for your contribution this looks great - @grobinson-grafana comments are very valid, but as you said this aligns with other notifiers so I'm good with this.
…3555) * feat: implement webhook_url_file for discord implements prometheus#3482 Signed-off-by: Philipp Born <git@pborn.eu> * feat: implement webhook_url_file for msteams implements prometheus#3536 Signed-off-by: Philipp Born <git@pborn.eu> --------- Signed-off-by: Philipp Born <git@pborn.eu> Signed-off-by: Gokhan Sari <gokhan@sari.me>
* [CHANGE] Deprecate and remove api/v1/ #2970 * [CHANGE] Remove unused feature flags #3676 * [CHANGE] Newlines in smtp password file are now ignored #3681 * [CHANGE] Change compat metrics to counters #3686 * [CHANGE] Do not register compat metrics in amtool #3713 * [CHANGE] Remove metrics from compat package #3714 * [CHANGE] Mark muted alerts #3793 * [FEATURE] Add metric for inhibit rules #3681 * [FEATURE] Support UTF-8 label matchers #3453, #3507, #3523, #3483, #3567, #3568, #3569, #3571, #3595, #3604, #3619, #3658, #3659, #3662, #3668, 3572 * [FEATURE] Add counter to track alerts dropped outside of time_intervals #3565 * [FEATURE] Add date and tz functions to templates #3812 * [FEATURE] Add limits for silences #3852 * [FEATURE] Add time helpers for templates #3863 * [FEATURE] Add auto GOMAXPROCS #3837 * [FEATURE] Add auto GOMEMLIMIT #3895 * [FEATURE] Add Jira receiver integration #3590 * [ENHANCEMENT] Add the receiver name to notification metrics #3045 * [ENHANCEMENT] Add the route ID to uuid #3372 * [ENHANCEMENT] Add duration to the notify success message #3559 * [ENHANCEMENT] Implement webhook_url_file for discord and msteams #3555 * [ENHANCEMENT] Add debug logs for muted alerts #3558 * [ENHANCEMENT] API: Allow the Silences API to use their own 400 response #3610 * [ENHANCEMENT] Add summary to msteams notification #3616 * [ENHANCEMENT] Add context reasons to notifications failed counter #3631 * [ENHANCEMENT] Add optional native histogram support to latency metrics #3737 * [ENHANCEMENT] Enable setting ThreadId for Telegram notifications #3638 * [ENHANCEMENT] Allow webex roomID from template #3801 * [BUGFIX] Add missing integrations to notify metrics #3480 * [BUGFIX] Add missing ttl in pushhover #3474 * [BUGFIX] Fix scheme required for webhook url in amtool #3409 * [BUGFIX] Remove duplicate integration from metrics #3516 * [BUGFIX] Reflect Discord's max length message limits #3597 * [BUGFIX] Fix nil error in warn logs about incompatible matchers #3683 * [BUGFIX] Fix a small number of inconsistencies in compat package logging #3718 * [BUGFIX] Fix log line in featurecontrol #3719 * [BUGFIX] Fix panic in acceptance tests #3592 * [BUGFIX] Fix flaky test TestClusterJoinAndReconnect/TestTLSConnection #3722 * [BUGFIX] Fix crash on errors when url_file is used #3800 * [BUGFIX] Fix race condition in dispatch.go #3826 * [BUGFIX] Fix race conditions in the memory alerts store #3648 * [BUGFIX] Hide config.SecretURL when the URL is incorrect. #3887 * [BUGFIX] Fix invalid silence causes incomplete updates #3898 * [BUGFIX] Fix leaking of Silences matcherCache entries #3930 * [BUGFIX] Close SMTP submission correctly to handle errors #4006 Signed-off-by: SuperQ <superq@gmail.com>
Just to ensure this works correclty as expected, I originally thought there was a bug with the shadowing of the `content` varible but there isn't - to avoid further confusion I have followed up on this document left by George: #3555 (comment) Signed-off-by: gotjosh <josue.abreu@gmail.com>
Just to ensure this works correclty as expected, I originally thought there was a bug with the shadowing of the `content` varible but there isn't - to avoid further confusion I have followed up on this document left by George: #3555 (comment) Signed-off-by: gotjosh <josue.abreu@gmail.com>
Closes #3536 and #3482.