Skip to content

Commit a3bef9c

Browse files
Fix ClickHouse column alias handling in populate_test_alerts macro
Co-Authored-By: Itamar Hartstein <haritamar@gmail.com>
1 parent c92b6a9 commit a3bef9c

1 file changed

Lines changed: 15 additions & 8 deletions

File tree

elementary/monitor/dbt_project/macros/alerts/population/test_alerts.sql

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,23 @@
55
{% set raw_test_alerts_agate = run_query(elementary_cli.populate_test_alerts_query(days_back)) %}
66
{% set raw_test_alerts = elementary.agate_to_dicts(raw_test_alerts_agate) %}
77
{% for raw_test_alert in raw_test_alerts %}
8-
{% set test_type = raw_test_alert.alert_type %}
8+
{# ClickHouse may return original column names instead of aliases, so we handle both cases #}
9+
{% set test_type = raw_test_alert.get('alert_type', raw_test_alert.get('test_type')) %}
910
{% set status = raw_test_alert.status | lower %}
1011

12+
{# ClickHouse may return original column names instead of aliases, so we handle both cases #}
13+
{% set alert_id = raw_test_alert.get('alert_id', raw_test_alert.get('id')) %}
14+
1115
{% set test_rows_sample = none %}
1216
{%- if not disable_samples and ((test_type == 'dbt_test' and status in ['fail', 'warn']) or (test_type != 'dbt_test' and status != 'error')) -%}
13-
{% set test_rows_sample = elementary_cli.get_test_rows_sample(raw_test_alert.result_rows, test_result_rows_agate.get(raw_test_alert.alert_id)) %}
17+
{% set test_rows_sample = elementary_cli.get_test_rows_sample(raw_test_alert.result_rows, test_result_rows_agate.get(alert_id)) %}
1418
{%- endif -%}
19+
{% set sub_type = raw_test_alert.get('sub_type', raw_test_alert.get('test_sub_type')) %}
20+
{% set alert_description = raw_test_alert.get('alert_description', raw_test_alert.get('test_results_description')) %}
21+
{% set alert_results_query = raw_test_alert.get('alert_results_query', raw_test_alert.get('test_results_query')) %}
1522

1623
{% set test_alert_data = {
17-
'id': raw_test_alert.alert_id,
24+
'id': alert_id,
1825
'alert_class_id': raw_test_alert.alert_class_id,
1926
'model_unique_id': raw_test_alert.model_unique_id,
2027
'test_unique_id': raw_test_alert.test_unique_id,
@@ -24,12 +31,12 @@
2431
'table_name': raw_test_alert.table_name,
2532
'column_name': raw_test_alert.column_name,
2633
'test_type': test_type,
27-
'test_sub_type': raw_test_alert.sub_type,
34+
'test_sub_type': sub_type,
2835
'test_description': raw_test_alert.test_description,
29-
'test_results_description': raw_test_alert.alert_description,
36+
'test_results_description': alert_description,
3037
'owners': raw_test_alert.owners,
3138
'tags': raw_test_alert.tags,
32-
'test_results_query': raw_test_alert.alert_results_query,
39+
'test_results_query': alert_results_query,
3340
'test_rows_sample': test_rows_sample,
3441
'other': raw_test_alert.other,
3542
'test_name': raw_test_alert.test_name,
@@ -46,11 +53,11 @@
4653
'job_url': raw_test_alert.job_url,
4754
'job_run_url': raw_test_alert.job_run_url,
4855
'orchestrator': raw_test_alert.orchestrator
49-
}
56+
}
5057
%}
5158

5259
{% set test_alert = elementary_cli.generate_alert_object(
53-
raw_test_alert.alert_id,
60+
alert_id,
5461
raw_test_alert.alert_class_id,
5562
'test',
5663
raw_test_alert.detected_at,

0 commit comments

Comments
 (0)