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>
This commit is contained in:
parent
fa07506d0d
commit
aa479fb002
|
|
@ -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(
|
||||
"""\
|
||||
<h2>Alert: %(label)s</h2>
|
||||
<img src="cid:screenshot" alt="%(label)s" />
|
||||
"""
|
||||
),
|
||||
body = render_template(
|
||||
"email/alert.txt",
|
||||
alert_url=get_url_path("AlertModelView.show", pk=alert.id),
|
||||
label=alert.label,
|
||||
sql=alert.sql,
|
||||
image_url=image_url,
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
<h2 style="color: red;">Alert: {{label}} ⚠</h2>
|
||||
<p><b>SQL Statement:</b></p>
|
||||
<code><mark style="background-color: LightGrey; font-size: 1.1em">{{sql}}</mark></code>
|
||||
<p><a href="{{alert_url}}">View Alert Details</a></p>
|
||||
<p>Click <a href="{{image_url}}">here</a> or the image below to view the chart related to this alert.</p>
|
||||
<a href="{{image_url}}">
|
||||
<img src="cid:screenshot" alt="{{label}}" />
|
||||
</a>
|
||||
Loading…
Reference in New Issue