From f70e9e67c14123ab0963dff9f1840ef0f0a14eb8 Mon Sep 17 00:00:00 2001 From: Wojciech Kostka Date: Fri, 19 Apr 2024 12:31:11 +0200 Subject: [PATCH 1/2] #1496 - add project-name and env to slack notification --- elementary/config/config.py | 2 ++ elementary/monitor/cli.py | 1 + .../data_monitoring/report/data_monitoring_report.py | 2 ++ .../report/slack_report_summary_message_builder.py | 11 ++++++++--- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/elementary/config/config.py b/elementary/config/config.py index 46f118394..db02f405c 100644 --- a/elementary/config/config.py +++ b/elementary/config/config.py @@ -67,6 +67,7 @@ def __init__( teams_webhook: Optional[str] = None, env: str = "dev", run_dbt_deps_if_needed: Optional[bool] = None, + project_name: Optional[str] = None, ): self.config_dir = config_dir self.profiles_dir = profiles_dir @@ -74,6 +75,7 @@ def __init__( self.profile_target = profile_target self.project_profile_target = project_profile_target self.env = env + self.project_name = project_name # Additional env vars supplied to dbt invocations self.env_vars = dict() diff --git a/elementary/monitor/cli.py b/elementary/monitor/cli.py index c98f94c8d..aa5c67c27 100644 --- a/elementary/monitor/cli.py +++ b/elementary/monitor/cli.py @@ -684,6 +684,7 @@ def send_report( gcs_timeout_limit=gcs_timeout_limit, report_url=report_url, env=env, + project_name=project_name, ) anonymous_tracking = AnonymousCommandLineTracking(config) anonymous_tracking.set_env("use_select", bool(select)) diff --git a/elementary/monitor/data_monitoring/report/data_monitoring_report.py b/elementary/monitor/data_monitoring/report/data_monitoring_report.py index ee1102ab2..397312504 100644 --- a/elementary/monitor/data_monitoring/report/data_monitoring_report.py +++ b/elementary/monitor/data_monitoring/report/data_monitoring_report.py @@ -299,6 +299,8 @@ def send_test_results_summary( include_description=include_description, filter=self.selector_filter.to_selector_filter_schema(), days_back=days_back, + env=self.config.env, + project_name=self.config.project_name, ), ) else: diff --git a/elementary/monitor/data_monitoring/report/slack_report_summary_message_builder.py b/elementary/monitor/data_monitoring/report/slack_report_summary_message_builder.py index dee2fce47..419d1f308 100644 --- a/elementary/monitor/data_monitoring/report/slack_report_summary_message_builder.py +++ b/elementary/monitor/data_monitoring/report/slack_report_summary_message_builder.py @@ -16,11 +16,13 @@ def get_slack_message( self, test_results: List[TestResultSummarySchema], days_back: int, + env: str, bucket_website_url: Optional[str] = None, filter: SelectorFilterSchema = SelectorFilterSchema(), include_description: bool = False, + project_name: Optional[str] = None, ) -> SlackMessageSchema: - self.add_title_to_slack_alert() + self.add_title_to_slack_alert(env, project_name) self.add_preview_to_slack_alert( test_results, days_back=days_back, @@ -34,9 +36,12 @@ def get_slack_message( ) return super().get_slack_message() - def add_title_to_slack_alert(self): + def add_title_to_slack_alert(self, env: str, project_name: Optional[str] = None): + _project_name = f"for the {project_name} " if project_name else "" title_blocks = [ - self.create_header_block(":mag: Monitoring summary"), + self.create_header_block( + f":mag: Monitoring summary {_project_name}({env})" + ), self.create_divider_block(), ] self._add_always_displayed_blocks(title_blocks) From be2df58710dd956991ec8684c0b4dd6bec638dde Mon Sep 17 00:00:00 2001 From: Itamar Hartstein Date: Wed, 22 May 2024 14:42:00 +0300 Subject: [PATCH 2/2] Small fixes in add_title_to_slack_alert Co-authored-by: ellakz --- .../report/slack_report_summary_message_builder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/elementary/monitor/data_monitoring/report/slack_report_summary_message_builder.py b/elementary/monitor/data_monitoring/report/slack_report_summary_message_builder.py index 419d1f308..471c47f7e 100644 --- a/elementary/monitor/data_monitoring/report/slack_report_summary_message_builder.py +++ b/elementary/monitor/data_monitoring/report/slack_report_summary_message_builder.py @@ -37,10 +37,10 @@ def get_slack_message( return super().get_slack_message() def add_title_to_slack_alert(self, env: str, project_name: Optional[str] = None): - _project_name = f"for the {project_name} " if project_name else "" + context = f"- {project_name} ({env})" if project_name else f"({env})" title_blocks = [ self.create_header_block( - f":mag: Monitoring summary {_project_name}({env})" + f":mag: Monitoring summary {context}" ), self.create_divider_block(), ]