Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
{% macro get_models_latest_invocations_data() %}
{% set invocations_relation = ref("dbt_invocations", package="elementary") %}
{% set column_exists = elementary.column_exists_in_relation(invocations_relation, 'job_url') %}
{% set job_url_exists = elementary.column_exists_in_relation(invocations_relation, 'job_url') %}
{% set job_run_id_exists = elementary.column_exists_in_relation(invocations_relation, 'job_run_id') %}
{% set job_run_url_exists = elementary.column_exists_in_relation(invocations_relation, 'job_run_url') %}

{% set query %}
with ordered_run_results as (
Expand All @@ -22,11 +24,11 @@
invocations.command,
invocations.selected,
invocations.full_refresh,
{% if column_exists %}
invocations.job_url,
{% endif %}
{% if job_url_exists %}invocations.job_url,{% endif %}
invocations.job_name,
invocations.job_id,
{% if job_run_id_exists %}invocations.job_run_id,{% endif %}
{% if job_run_url_exists %}invocations.job_run_url,{% endif %}
invocations.orchestrator
from {{ invocations_relation }} invocations
join latest_models_invocations on invocations.invocation_id = latest_models_invocations.invocation_id
Expand Down
16 changes: 11 additions & 5 deletions elementary/monitor/dbt_project/macros/get_test_last_invocation.sql
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,27 @@
)

{% if invocations_relation %}
select
test_invocation.invocation_id,
{% set job_run_id_exists = elementary.column_exists_in_relation(invocations_relation, 'job_run_id') %}
{% set job_run_url_exists = elementary.column_exists_in_relation(invocations_relation, 'job_run_url') %}
select
test_invocation.invocation_id,
test_invocation.detected_at,
invocations.command,
invocations.selected,
invocations.full_refresh
invocations.full_refresh,
{% if job_run_id_exists %}invocations.job_run_id{% else %}NULL as job_run_id{% endif %},
{% if job_run_url_exists %}invocations.job_run_url{% else %}NULL as job_run_url{% endif %}
from test_invocation left join {{ ref('elementary', 'dbt_invocations') }} as invocations
on test_invocation.invocation_id = invocations.invocation_id
{% else %}
select
select
invocation_id,
detected_at,
NULL as command,
NULL as selected,
NULL as full_refresh
NULL as full_refresh,
NULL as job_run_id,
NULL as job_run_url
Comment thread
coderabbitai[bot] marked this conversation as resolved.
from test_invocation
{% endif %}
{% endset %}
Expand Down
2 changes: 2 additions & 0 deletions elementary/monitor/fetchers/invocations/schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ class DbtInvocationSchema(BaseModel):
job_url: Optional[str] = None
job_name: Optional[str] = None
job_id: Optional[str] = None
job_run_id: Optional[str] = None
job_run_url: Optional[str] = None
orchestrator: Optional[str] = None

@validator("detected_at", pre=True)
Expand Down
Loading