-
Notifications
You must be signed in to change notification settings - Fork 69
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
Markdown descriptions in senders #353
Comments
Hey. I can help. Slack supports basic MD I guess. |
Senders like pushover and slack seem to support basic HTML but not all of it. For example, the web UI supports MD headers which are converted to |
We should:
For example, we can build a message for Slack (4000 characters limit) this way:
|
Slack's MD seems to a bit different. |
Try to convert to appropriate syntax where possible, and strip all unsupported syntax, leaving just plain text. |
* Add MD support for slack and telegram senders (#353) * Add MD support for pushover and mail senders (#353) * Handle unsupported MD syntax for slack and telegram senders (#353) * Move regexp comilations Init() and add description validation to tests * Fix tests for senders * Add tests for MD to HTML conversion is mail and pushover senders * Add add blackfriday dep to vendor.json * Add message limiting and more tests to pushover sender * Add more tests to slack sender * Add more tests to slack and telegram senders * Rewrite the message building algo for pushover * Modify pushover to ellipsize the desc * Rewrite the message building algo * Fix lint errors * Add newline between functions * Cleanup pushover message building * Add tests for new message algo * Adopt new algo for telegram and slack * Fix lint errors * Fix algo with photo * Simplify the if..else block of message algorithm * Break down the message building algo * Change the discord msg algo to match other senders * Refactor out common msg building logic into sender package * Use blackfiday-slack for slack sender * Fix tests * Remove telegram and pushover changes
* Add MD support for slack and telegram senders (#353) * Add MD support for pushover and mail senders (#353) * Handle unsupported MD syntax for slack and telegram senders (#353) * Move regexp comilations Init() and add description validation to tests * Fix tests for senders * Add tests for MD to HTML conversion is mail and pushover senders * Add add blackfriday dep to vendor.json * Add message limiting and more tests to pushover sender * Add more tests to slack sender * Add more tests to slack and telegram senders * Rewrite the message building algo for pushover * Modify pushover to ellipsize the desc * Rewrite the message building algo * Fix lint errors * Add newline between functions * Cleanup pushover message building * Add tests for new message algo * Adopt new algo for telegram and slack * Fix lint errors * Fix algo with photo * Simplify the if..else block of message algorithm * Break down the message building algo * Change the discord msg algo to match other senders * Refactor out common msg building logic into sender package * Add initial files for opsgenie sender * Use blackfiday-slack for slack sender * Fix tests * Fix logrus dep issue for opsgenie * Remove telegram and pushover changes * Implement basic SendEvents for opsgenie * Add image store support for opsgenie * Add tests for opsgenie * Fix tests * Fix tests * Fix lint errors * Refactor out image store config reading and remove unnecessary err check
Message and description size fixed for Slack. Markdown formatting added to Slack. Description added for Email. #403 |
Other senders, like Telegram and Pushover, are not ready yet. |
commit 1e27669 Merge: 47e6760 713792d Author: Nix O Live <[email protected]> Date: Fri Oct 4 10:08:11 2019 +0500 Merge branch 'feature/getmaintenanceinfomessage_to_notifier' of https://github.com/moira-alert/moira into feature/getmaintenanceinfomessage_to_notifier commit 47e6760 Author: Nix O Live <[email protected]> Date: Fri Oct 4 10:05:42 2019 +0500 Squashed commit of the following: commit 1e280b2 Author: Nix O Live <[email protected]> Date: Thu Oct 3 17:43:07 2019 +0500 rename Maintenance for json commit 5824994 Author: Nix O Live <[email protected]> Date: Mon Sep 30 15:27:54 2019 +0500 refactoring isStateChanged commit ba83a04 Author: Nix O Live <[email protected]> Date: Fri Sep 27 17:58:55 2019 +0500 fix event_test commit c18edeb Author: Nix O Live <[email protected]> Date: Fri Sep 27 15:44:45 2019 +0500 fix tests for senders commit d59a610 Author: Nix O Live <[email protected]> Date: Fri Sep 27 15:21:54 2019 +0500 fix check_test and event_teset commit 2c7e657 Author: Nix O Live <[email protected]> Date: Fri Sep 27 14:19:33 2019 +0500 edit function isStateChanged commit e6c2022 Author: Nix O Live <[email protected]> Date: Wed Sep 25 12:47:00 2019 +0500 edit test check and event commit c93f433 Author: Nix O Live <[email protected]> Date: Tue Sep 24 16:44:42 2019 +0500 edit tests for message event info commit d4a9f78 Merge: 51fcde6 3bf13dd Author: Nix O Live <[email protected]> Date: Tue Sep 24 14:00:45 2019 +0500 #356 fix merge commit 51fcde6 Author: Nix O Live <[email protected]> Date: Wed Sep 18 13:49:24 2019 +0500 rename data and refactoring commit 1e0098e Author: Nix O Live <[email protected]> Date: Wed Sep 18 12:12:15 2019 +0500 update to master commit f87f4a9 Author: Nixolay <[email protected]> Date: Wed Aug 21 11:40:58 2019 +0500 Added todo commit d406bc9 Author: Nixolay <[email protected]> Date: Wed Aug 21 10:47:34 2019 +0500 Added descriptions in function CreateMessage commit 1c6919f Author: Nixolay <[email protected]> Date: Wed Aug 21 09:37:25 2019 +0500 update descriptions in datatypes.go commit a18e438 Author: Nixolay <[email protected]> Date: Wed Aug 21 09:35:37 2019 +0500 update descriptions in datatypes.go commit 3e7d498 Author: Nixolay <[email protected]> Date: Wed Aug 21 07:47:18 2019 +0500 added descriptions for EventInfo and CreateMessage commit 045be61 Author: Nixolay <[email protected]> Date: Wed Aug 21 07:31:07 2019 +0500 added descriptions for EventInfo and CreateMessage commit a44e320 Author: Nixolay <[email protected]> Date: Tue Aug 20 20:57:40 2019 +0500 fix time zone in datatype_test.go commit 1bec364 Author: Nixolay <[email protected]> Date: Tue Aug 20 18:29:08 2019 +0500 fix time zone commit 714fdb2 Author: Nixolay <[email protected]> Date: Tue Aug 20 16:49:42 2019 +0500 #356 update tests and added new for function CreateMessage commit 3bf13dd Merge: baf02ac a879f8a Author: Nixolay <[email protected]> Date: Fri Sep 6 11:42:03 2019 +0500 Merge branch 'master' into feature/getmaintenanceinfomessage_to_notifier commit baf02ac Author: Nixolay <[email protected]> Date: Wed Aug 21 11:40:58 2019 +0500 Added todo commit 8d68f18 Author: Nixolay <[email protected]> Date: Wed Aug 21 10:47:34 2019 +0500 Added descriptions in function CreateMessage commit ae8fdef Author: Nixolay <[email protected]> Date: Wed Aug 21 09:37:25 2019 +0500 update descriptions in datatypes.go commit eed95ca Author: Nixolay <[email protected]> Date: Wed Aug 21 09:35:37 2019 +0500 update descriptions in datatypes.go commit 78f61f4 Author: Nixolay <[email protected]> Date: Wed Aug 21 07:47:18 2019 +0500 added descriptions for EventInfo and CreateMessage commit 79b7900 Author: Nixolay <[email protected]> Date: Wed Aug 21 07:31:07 2019 +0500 added descriptions for EventInfo and CreateMessage commit b1c5a57 Author: Nixolay <[email protected]> Date: Tue Aug 20 20:57:40 2019 +0500 fix time zone in datatype_test.go commit 0b7a936 Author: Nixolay <[email protected]> Date: Tue Aug 20 18:29:08 2019 +0500 fix time zone commit 98cd914 Author: Nixolay <[email protected]> Date: Tue Aug 20 16:49:42 2019 +0500 #356 update tests and added new for function CreateMessage commit 2610d20 Author: Nixolay <[email protected]> Date: Mon Aug 19 13:18:43 2019 +0500 fix #356 Make getMaintenanceInfoMessage to be a part of Notifier to avoid usage of different timezones in the same message * Create struct Maintenance * Added Maintenance in NotificationEvent * Replace functio getMaintenanceInfoMessage in struct Maintanance commit 60e1351 Author: Nixolay <[email protected]> Date: Thu Aug 8 17:53:52 2019 +0500 time format added commit 713792d Merge: 1e280b2 8f21a0b Author: Nixolay <[email protected]> Date: Thu Oct 3 18:20:53 2019 +0500 Merge branch 'master' into feature/getmaintenanceinfomessage_to_notifier commit 1e280b2 Author: Nix O Live <[email protected]> Date: Thu Oct 3 17:43:07 2019 +0500 rename Maintenance for json commit 8f21a0b Author: litleleprikon <[email protected]> Date: Wed Oct 2 00:35:54 2019 +0500 build: Move to go modules Drop usage of govendor as dependency management tool in favor to go modules. Relates #423 commit 7ae57ec Author: litleleprikon <[email protected]> Date: Thu Oct 3 12:31:50 2019 +0500 refactor: Fix linter issue Fix shadowed variable notificationEvent to not to raise linter error. commit 2cd5795 Author: litleleprikon <[email protected]> Date: Wed Oct 2 14:57:00 2019 +0500 ci: Migrate to golangci-lint Add linter configurations file and change lint target in Makefile. commit d451c42 Author: litleleprikon <[email protected]> Date: Wed Oct 2 14:51:44 2019 +0500 refactor: Fix linter issues before golangci-lint Before enabling golangci-lint all issues which will be found by enabled linters should be fixed. This commit fixes this issues. commit d4975b4 Author: Ioannis Mavroukakis <[email protected]> Date: Tue Oct 1 15:14:27 2019 +0100 discrete data volume for redis commit a616b04 Author: litleleprikon <[email protected]> Date: Wed Oct 2 11:21:59 2019 +0500 build: Bump go version Go version bumped to 1.13.1 to fix problems occured during migration to go modules. commit fdcd141 Author: litleleprikon <[email protected]> Date: Wed Oct 2 11:51:02 2019 +0500 ci: Switch off go modules for gometalinter Gometalinter have known issue with downloading linters using go modules alecthomas/gometalinter#521. Switch off gomodules for linter target in Makefile. commit 053b8ed Author: Nixolay <[email protected]> Date: Tue Oct 1 13:55:46 2019 +0500 Add special tag (?) to select all triggers for a subscription (#425) * added special tag for notifications * updated condition strings constains * #236 Created the ability to receive information on all triggers in the subscription: * Added AnyTag to subscription * Added in redis sets moira-any-tags-subscriptions * Added the ability to save, delete and receive subscriptions for all triggers * #236 Refactoring import packages in redis/subscription.go * #236 added tests for subsriptions with any tags * #236 update test get subscriptions with AnyTag and by tag * #236 update tests, added check AnyTags in http request, in function addSendSubscriptionRequest added check AnyTags if AnyTags is true then tags flushed * fix test Get Subscription by id * refactoring api subscription * refactoring import package and using SUbscrptionData * fix tags nil in subscripions * fix nil tags commit 1c115e9 Author: Nixolay <[email protected]> Date: Mon Sep 30 16:05:20 2019 +0500 formating code (#430) commit 5824994 Author: Nix O Live <[email protected]> Date: Mon Sep 30 15:27:54 2019 +0500 refactoring isStateChanged commit ba83a04 Author: Nix O Live <[email protected]> Date: Fri Sep 27 17:58:55 2019 +0500 fix event_test commit c18edeb Author: Nix O Live <[email protected]> Date: Fri Sep 27 15:44:45 2019 +0500 fix tests for senders commit d59a610 Author: Nix O Live <[email protected]> Date: Fri Sep 27 15:21:54 2019 +0500 fix check_test and event_teset commit 2c7e657 Author: Nix O Live <[email protected]> Date: Fri Sep 27 14:19:33 2019 +0500 edit function isStateChanged commit e6c2022 Author: Nix O Live <[email protected]> Date: Wed Sep 25 12:47:00 2019 +0500 edit test check and event commit c93f433 Author: Nix O Live <[email protected]> Date: Tue Sep 24 16:44:42 2019 +0500 edit tests for message event info commit d4a9f78 Merge: 51fcde6 3bf13dd Author: Nix O Live <[email protected]> Date: Tue Sep 24 14:00:45 2019 +0500 #356 fix merge commit 51fcde6 Author: Nix O Live <[email protected]> Date: Wed Sep 18 13:49:24 2019 +0500 rename data and refactoring commit 1e0098e Author: Nix O Live <[email protected]> Date: Wed Sep 18 12:12:15 2019 +0500 update to master commit f87f4a9 Author: Nixolay <[email protected]> Date: Wed Aug 21 11:40:58 2019 +0500 Added todo commit d406bc9 Author: Nixolay <[email protected]> Date: Wed Aug 21 10:47:34 2019 +0500 Added descriptions in function CreateMessage commit 1c6919f Author: Nixolay <[email protected]> Date: Wed Aug 21 09:37:25 2019 +0500 update descriptions in datatypes.go commit a18e438 Author: Nixolay <[email protected]> Date: Wed Aug 21 09:35:37 2019 +0500 update descriptions in datatypes.go commit 3e7d498 Author: Nixolay <[email protected]> Date: Wed Aug 21 07:47:18 2019 +0500 added descriptions for EventInfo and CreateMessage commit 045be61 Author: Nixolay <[email protected]> Date: Wed Aug 21 07:31:07 2019 +0500 added descriptions for EventInfo and CreateMessage commit a44e320 Author: Nixolay <[email protected]> Date: Tue Aug 20 20:57:40 2019 +0500 fix time zone in datatype_test.go commit 1bec364 Author: Nixolay <[email protected]> Date: Tue Aug 20 18:29:08 2019 +0500 fix time zone commit 714fdb2 Author: Nixolay <[email protected]> Date: Tue Aug 20 16:49:42 2019 +0500 #356 update tests and added new for function CreateMessage commit 0ca2678 Author: Nixolay <[email protected]> Date: Mon Aug 19 13:18:43 2019 +0500 fix #356 Make getMaintenanceInfoMessage to be a part of Notifier to avoid usage of different timezones in the same message * Create struct Maintenance * Added Maintenance in NotificationEvent * Replace functio getMaintenanceInfoMessage in struct Maintanance commit d894512 Author: Nixolay <[email protected]> Date: Thu Aug 8 17:53:52 2019 +0500 time format added commit 90631c8 Author: Borovsky Arkady <[email protected]> Date: Wed Sep 11 10:45:54 2019 +0500 Small refactor retries of GetTriggerChecks method (#420) * Small refactor retries of GetTriggerChecks method * Fix test commit d032909 Author: Nixolay <[email protected]> Date: Mon Sep 9 15:28:59 2019 +0500 #355 NODATA state by TTL (#421) * #355 NODATA state by TTL * Created a condition for creating timestamp without TTL when the status is nodata * #355 update tests and remove ttl in function checkForNoData commit 3bf13dd Merge: baf02ac a879f8a Author: Nixolay <[email protected]> Date: Fri Sep 6 11:42:03 2019 +0500 Merge branch 'master' into feature/getmaintenanceinfomessage_to_notifier commit a879f8a Author: Nixolay <[email protected]> Date: Tue Sep 3 17:07:56 2019 +0500 #215 Validate fuctions in target against real Graphite installation i… (#416) * #215 Validate fuctions in target against real Graphite installation in remote triggers * Remove Target in ErrRemoteTriggerResponse * Fix function ErrRemoteTriggerResponse.Error() * Update tests * Added loggining remote ErrRemoteTriggerResponse.Target * #215 Validate fuctions in target against real Graphite installation in remote triggers * Added point in text for function ErrorRemoteServerUnavailable in struct ErrorResponse.StatusText * #215 Validate fuctions in target against real Graphite installation in remote triggers * New get type err * #215 Validate fuctions in target against real Graphite installation in remote triggers * Create logging function for error remote server * #215 Validate fuctions in target against real Graphite installation in remote triggers * Rename function writeToLogErrorRemoteServer to loggingErrorRemoteServer * #416 * Remove function loggingErrorRemoteServer * Update ErrorResponse.StatusText in function ErrorRemoteServerUnavailable * #416 Remove check type cast t, ok := err.(remote.ErrRemoteTriggerResponse) * #416 Remove comment * #416 Update switch in updateTrigger * #416 Rename type of error * #416 Rename type of error * #416 Rename switch err commit 8890e9e Author: Borovsky Arkady <[email protected]> Date: Tue Sep 3 15:26:58 2019 +0500 Rename ErrTriggerHasSameMetricNames error message (#418) * Rename ErrTriggerHasSameMetricNames error for users * Fix tests commit baf02ac Author: Nixolay <[email protected]> Date: Wed Aug 21 11:40:58 2019 +0500 Added todo commit 8d68f18 Author: Nixolay <[email protected]> Date: Wed Aug 21 10:47:34 2019 +0500 Added descriptions in function CreateMessage commit ae8fdef Author: Nixolay <[email protected]> Date: Wed Aug 21 09:37:25 2019 +0500 update descriptions in datatypes.go commit eed95ca Author: Nixolay <[email protected]> Date: Wed Aug 21 09:35:37 2019 +0500 update descriptions in datatypes.go commit 78f61f4 Author: Nixolay <[email protected]> Date: Wed Aug 21 07:47:18 2019 +0500 added descriptions for EventInfo and CreateMessage commit 79b7900 Author: Nixolay <[email protected]> Date: Wed Aug 21 07:31:07 2019 +0500 added descriptions for EventInfo and CreateMessage commit b1c5a57 Author: Nixolay <[email protected]> Date: Tue Aug 20 20:57:40 2019 +0500 fix time zone in datatype_test.go commit 0b7a936 Author: Nixolay <[email protected]> Date: Tue Aug 20 18:29:08 2019 +0500 fix time zone commit 98cd914 Author: Nixolay <[email protected]> Date: Tue Aug 20 16:49:42 2019 +0500 #356 update tests and added new for function CreateMessage commit 2610d20 Author: Nixolay <[email protected]> Date: Mon Aug 19 13:18:43 2019 +0500 fix #356 Make getMaintenanceInfoMessage to be a part of Notifier to avoid usage of different timezones in the same message * Create struct Maintenance * Added Maintenance in NotificationEvent * Replace functio getMaintenanceInfoMessage in struct Maintanance commit 60e1351 Author: Nixolay <[email protected]> Date: Thu Aug 8 17:53:52 2019 +0500 time format added commit 8e0e101 Author: Aswin M Prabhu <[email protected]> Date: Mon Aug 19 15:31:45 2019 +0530 Fix title inconsistency in slack and victorops (#415) commit b17e5d7 Author: Aswin M Prabhu <[email protected]> Date: Thu Aug 15 22:45:14 2019 +0530 Use the alias field to de-dupe alerts in opsgenie (#413) commit a7c594a Author: Aswin M Prabhu <[email protected]> Date: Thu Aug 15 18:45:27 2019 +0530 Use UTC for pagerduty timestamp and add trigger name to summary (#414) * Fix the timestamp error when testing the channel from webUI * Improve test for timestamp conversion * Fix timestamp test * Use UTC for the timestamp in pagerduty * Use trigger name in the pagerduty alert summary commit 2641473 Author: Aswin M Prabhu <[email protected]> Date: Thu Aug 15 15:48:19 2019 +0530 Fix pagerduty timestamp error (#412) * Fix the timestamp error when testing the channel from webUI * Improve test for timestamp conversion * Fix timestamp test commit 6169514 Author: Borovsky Arkady <[email protected]> Date: Tue Aug 13 17:53:36 2019 +0500 Handle messages in one sender in parallel (#410) * Small refactor * Send messages in one sender in parallel * wg.Add on each running goroutine * Fix tests commit cd9d5cb Author: Nixolay <[email protected]> Date: Mon Aug 12 17:01:57 2019 +0500 Execute adding remote “triggers to check” only once #252 (#404) * Victorops Sender #400 * rename runNodataChecker to localTriggerGetter * rename remoteChecker to remoteTriggerGetter * add worcker to remoteTriggerGetter * update remoteTriggerGetter * replace checkTicker.Stop() commit 3f74b5e Author: Alexey Kirpichnikov <[email protected]> Date: Mon Aug 12 16:38:12 2019 +0500 Ignore Coveralls failures (#408) commit 15aea1b Author: Aswin M Prabhu <[email protected]> Date: Mon Aug 12 12:10:41 2019 +0530 Opsgenie Sender (#405) * Add MD support for slack and telegram senders (#353) * Add MD support for pushover and mail senders (#353) * Handle unsupported MD syntax for slack and telegram senders (#353) * Move regexp comilations Init() and add description validation to tests * Fix tests for senders * Add tests for MD to HTML conversion is mail and pushover senders * Add add blackfriday dep to vendor.json * Add message limiting and more tests to pushover sender * Add more tests to slack sender * Add more tests to slack and telegram senders * Rewrite the message building algo for pushover * Modify pushover to ellipsize the desc * Rewrite the message building algo * Fix lint errors * Add newline between functions * Cleanup pushover message building * Add tests for new message algo * Adopt new algo for telegram and slack * Fix lint errors * Fix algo with photo * Simplify the if..else block of message algorithm * Break down the message building algo * Change the discord msg algo to match other senders * Refactor out common msg building logic into sender package * Add initial files for opsgenie sender * Use blackfiday-slack for slack sender * Fix tests * Fix logrus dep issue for opsgenie * Remove telegram and pushover changes * Implement basic SendEvents for opsgenie * Add image store support for opsgenie * Add tests for opsgenie * Fix tests * Fix tests * Fix lint errors * Refactor out image store config reading and remove unnecessary err check commit ca3c3cf Author: Nixolay <[email protected]> Date: Thu Aug 8 12:09:40 2019 +0500 Fail API startup if indexing triggers for fulltext search return… (#400) * added tests for the actualizer_test.go and fixed handleTriggerBatches * added tests for the actualizer_test.go and fixed handleTriggerBatches * fmt.Errorf to errors.New * refactoring actualizer_test.go * added a second request for triggers after receiving errors * replace rerun * Fail API startup if indexing triggers for fulltext search returns an error #400 * rewrite rerun * Fail API startup if indexing triggers for fulltext search returns an error #400 * rewrite rerun commit f8007f9 Author: Aswin M Prabhu <[email protected]> Date: Mon Aug 5 11:07:22 2019 +0530 MD support and refined message building for slack and mail (#403) * Add MD support for slack and telegram senders (#353) * Add MD support for pushover and mail senders (#353) * Handle unsupported MD syntax for slack and telegram senders (#353) * Move regexp comilations Init() and add description validation to tests * Fix tests for senders * Add tests for MD to HTML conversion is mail and pushover senders * Add add blackfriday dep to vendor.json * Add message limiting and more tests to pushover sender * Add more tests to slack sender * Add more tests to slack and telegram senders * Rewrite the message building algo for pushover * Modify pushover to ellipsize the desc * Rewrite the message building algo * Fix lint errors * Add newline between functions * Cleanup pushover message building * Add tests for new message algo * Adopt new algo for telegram and slack * Fix lint errors * Fix algo with photo * Simplify the if..else block of message algorithm * Break down the message building algo * Change the discord msg algo to match other senders * Refactor out common msg building logic into sender package * Use blackfiday-slack for slack sender * Fix tests * Remove telegram and pushover changes commit 83affb6 Author: Aswin M Prabhu <[email protected]> Date: Wed Jul 31 15:47:11 2019 +0530 Victorops Sender (#398) * Implement the victorops sender * Add tests for victorops sender and api client * Fix tests * Fix lint errors * Fix lint errors * Remove URI formatting * Add plotting and additional fields to victorops * Use gomock for mocking imagestore and update message type determination * Use gomock for imagestore testing in pagerduty commit 3bb49bc Author: Timur Kamaev <[email protected]> Date: Mon Jul 29 13:37:16 2019 +0500 Add FieldData for indexed fields, remove enum (#347) * add FieldData * reorder imports * make FieldData fields private * move trigger_data to separate file * small cleanup and comments commit 716eee2 Author: Borovsky Arkady <[email protected]> Date: Wed Jul 24 18:37:30 2019 +0500 Timeseries in checker renames (#243) * Rename all timeseries to metric data * Rename all timeseries in errors text
Web UI supports Markdown descriptions since 2.5 (see #285), but Slack and other senders do not. We need to send descriptions as Markdown in all sender types that support it. And also maybe we need to convert Markdown for senders that support HTML or other types of markup languages.
The text was updated successfully, but these errors were encountered: