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..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 @@ -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): + context = f"- {project_name} ({env})" if project_name else f"({env})" title_blocks = [ - self.create_header_block(":mag: Monitoring summary"), + self.create_header_block( + f":mag: Monitoring summary {context}" + ), self.create_divider_block(), ] self._add_always_displayed_blocks(title_blocks)