From 39eace61526b9186dea9a1f5239b0682829df0d9 Mon Sep 17 00:00:00 2001 From: Luc Didry Date: Thu, 7 Dec 2023 07:33:22 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=84=20=E2=80=94=20Add=20link=20to=20ta?= =?UTF-8?q?sk=20view=20in=20notifications?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- argos/server/alerting.py | 8 ++++++-- argos/server/routes/api.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/argos/server/alerting.py b/argos/server/alerting.py index cb9ef62..31d4006 100644 --- a/argos/server/alerting.py +++ b/argos/server/alerting.py @@ -13,18 +13,22 @@ from argos.schemas.config import Config, Mail, GotifyUrl # XXX Implement mail alerts https://framagit.org/framasoft/framaspace/argos/-/issues/15 # XXX Implement gotify alerts https://framagit.org/framasoft/framaspace/argos/-/issues/16 -def handle_alert(config: Config, result, task, severity): +def handle_alert(config: Config, result, task, severity, request): """Dispatch alert through configured alert channels""" msg = f"task={task.id}, status={result.status}, {severity=}" logger.error("Alerting stub: %s", msg) - if config.general.mail is not None or config.general.gotify is not None: + if config.general.mail is not None or \ + config.general.gotify is not None: + subject = f"{urlparse(task.url).netloc}: status {severity}" msg = f"""\ URL: {task.url} Check: {task.check} Status: {severity} Time: {result.submitted_at} + +See results of task on {request.url_for('get_task_results', task_id=task.id)} """ if config.general.mail is not None: diff --git a/argos/server/routes/api.py b/argos/server/routes/api.py index 034bc19..d618616 100644 --- a/argos/server/routes/api.py +++ b/argos/server/routes/api.py @@ -59,7 +59,7 @@ async def create_results( # Don’t create an alert if the severity has not changed if last_severity != severity: - handle_alert(config, result, task, severity) + handle_alert(config, result, task, severity, request) db_results.append(result) db.commit()