This is an automated email from the ASF dual-hosted git repository.
mobuchowski pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new fca1c3020ed revert removing `external_trigger` from OpenLineage
provider (#47383)
fca1c3020ed is described below
commit fca1c3020edb82798ff72014158072c3676ea306
Author: Kacper Muda <[email protected]>
AuthorDate: Thu Mar 6 10:22:32 2025 +0100
revert removing `external_trigger` from OpenLineage provider (#47383)
---
.../src/airflow/providers/openlineage/facets/AirflowDagRunFacet.json | 3 +++
.../src/airflow/providers/openlineage/facets/AirflowRunFacet.json | 3 +++
providers/openlineage/src/airflow/providers/openlineage/utils/utils.py | 1 +
providers/openlineage/tests/unit/openlineage/plugins/test_adapter.py | 2 ++
providers/openlineage/tests/unit/openlineage/utils/test_utils.py | 2 ++
5 files changed, 11 insertions(+)
diff --git
a/providers/openlineage/src/airflow/providers/openlineage/facets/AirflowDagRunFacet.json
b/providers/openlineage/src/airflow/providers/openlineage/facets/AirflowDagRunFacet.json
index c3a83b216ca..165a8e6a598 100644
---
a/providers/openlineage/src/airflow/providers/openlineage/facets/AirflowDagRunFacet.json
+++
b/providers/openlineage/src/airflow/providers/openlineage/facets/AirflowDagRunFacet.json
@@ -75,6 +75,9 @@
"type": "string",
"format": "date-time"
},
+ "external_trigger": {
+ "type": "boolean"
+ },
"run_id": {
"type": "string"
},
diff --git
a/providers/openlineage/src/airflow/providers/openlineage/facets/AirflowRunFacet.json
b/providers/openlineage/src/airflow/providers/openlineage/facets/AirflowRunFacet.json
index 338ae3ce55b..621eb6a7614 100644
---
a/providers/openlineage/src/airflow/providers/openlineage/facets/AirflowRunFacet.json
+++
b/providers/openlineage/src/airflow/providers/openlineage/facets/AirflowRunFacet.json
@@ -235,6 +235,9 @@
"type": "string",
"format": "date-time"
},
+ "external_trigger": {
+ "type": "boolean"
+ },
"run_id": {
"type": "string"
},
diff --git
a/providers/openlineage/src/airflow/providers/openlineage/utils/utils.py
b/providers/openlineage/src/airflow/providers/openlineage/utils/utils.py
index 169e6c6b473..c6dd4a2a2b3 100644
--- a/providers/openlineage/src/airflow/providers/openlineage/utils/utils.py
+++ b/providers/openlineage/src/airflow/providers/openlineage/utils/utils.py
@@ -365,6 +365,7 @@ class DagRunInfo(InfoJsonEncodable):
"dag_id",
"data_interval_start",
"data_interval_end",
+ "external_trigger", # Removed in Airflow 3, use run_type instead
"run_id",
"run_type",
"start_date",
diff --git
a/providers/openlineage/tests/unit/openlineage/plugins/test_adapter.py
b/providers/openlineage/tests/unit/openlineage/plugins/test_adapter.py
index f98f445243d..48dfaacd116 100644
--- a/providers/openlineage/tests/unit/openlineage/plugins/test_adapter.py
+++ b/providers/openlineage/tests/unit/openlineage/plugins/test_adapter.py
@@ -606,6 +606,7 @@ def test_emit_dag_started_event(mock_stats_incr,
mock_stats_timer, generate_stat
"dag_id": "dag_id",
"data_interval_start": event_time.isoformat(),
"data_interval_end": event_time.isoformat(),
+ "external_trigger": False if AIRFLOW_V_3_0_PLUS else None,
"run_id": run_id,
"run_type": DagRunType.MANUAL,
"start_date": event_time.isoformat(),
@@ -646,6 +647,7 @@ def test_emit_dag_started_event(mock_stats_incr,
mock_stats_timer, generate_stat
"dag_id": "dag_id",
"data_interval_start": event_time.isoformat(),
"data_interval_end": event_time.isoformat(),
+ "external_trigger": False if AIRFLOW_V_3_0_PLUS
else None,
"run_id": run_id,
"run_type": DagRunType.MANUAL,
"start_date": event_time.isoformat(),
diff --git a/providers/openlineage/tests/unit/openlineage/utils/test_utils.py
b/providers/openlineage/tests/unit/openlineage/utils/test_utils.py
index 6dd4645b003..e1da5438ad5 100644
--- a/providers/openlineage/tests/unit/openlineage/utils/test_utils.py
+++ b/providers/openlineage/tests/unit/openlineage/utils/test_utils.py
@@ -129,6 +129,7 @@ def test_get_airflow_dag_run_facet():
dagrun_mock.dag_id = dag.dag_id
dagrun_mock.data_interval_start = datetime.datetime(2024, 6, 1, 1, 2, 3,
tzinfo=datetime.timezone.utc)
dagrun_mock.data_interval_end = datetime.datetime(2024, 6, 1, 2, 3, 4,
tzinfo=datetime.timezone.utc)
+ dagrun_mock.external_trigger = True
dagrun_mock.run_id = "manual_2024-06-01T00:00:00+00:00"
dagrun_mock.run_type = DagRunType.MANUAL
dagrun_mock.start_date = datetime.datetime(2024, 6, 1, 1, 2, 4,
tzinfo=datetime.timezone.utc)
@@ -156,6 +157,7 @@ def test_get_airflow_dag_run_facet():
"dag_id": "dag",
"data_interval_start": "2024-06-01T01:02:03+00:00",
"data_interval_end": "2024-06-01T02:03:04+00:00",
+ "external_trigger": True,
"run_id": "manual_2024-06-01T00:00:00+00:00",
"run_type": "manual",
"start_date": "2024-06-01T01:02:04+00:00",