From aa479fb0020539aa2b5a8465a0cfbfbfb837217d Mon Sep 17 00:00:00 2001 From: Jason Davis <32852580+JasonD28@users.noreply.github.com> Date: Tue, 4 Aug 2020 13:20:02 -0700 Subject: [PATCH] feat: updated email format for SQL-based email alerts (#10512) * added sql statement and link to chart in alert email * pylint * updated email to include link to alert * style changes * pylint * added todo and fixed formatting of email Co-authored-by: Jason Davis <@dropbox.com> --- superset/tasks/schedules.py | 16 ++++++++-------- superset/templates/email/alert.txt | 26 ++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 superset/templates/email/alert.txt diff --git a/superset/tasks/schedules.py b/superset/tasks/schedules.py index a53ce08e7..78793b968 100644 --- a/superset/tasks/schedules.py +++ b/superset/tasks/schedules.py @@ -18,7 +18,6 @@ """Utility functions used across Superset""" import logging -import textwrap import time import urllib.request from collections import namedtuple @@ -585,6 +584,9 @@ def deliver_alert(alert_id: int, recipients: Optional[str] = None) -> None: image_url = get_url_path( "ChartRestApi.screenshot", pk=alert.slice.id, digest=cache_key ) + standalone_index = chart_url.find("/?standalone=true") + if standalone_index != -1: + image_url = chart_url[:standalone_index] user = security_manager.find_user(current_app.config["THUMBNAIL_SELENIUM_USER"]) img_data = screenshot.compute_and_cache( @@ -595,19 +597,17 @@ def deliver_alert(alert_id: int, recipients: Optional[str] = None) -> None: image_url = "https://media.giphy.com/media/dzaUX7CAG0Ihi/giphy.gif" # generate the email + # TODO add sql query results to email subject = f"[Superset] Triggered alert: {alert.label}" deliver_as_group = False data = None if img_data: images = {"screenshot": img_data} - body = __( - textwrap.dedent( - """\ -
SQL Statement:
+{{sql}}
+
+Click here or the image below to view the chart related to this alert.
+ +