This is an automated email from the ASF dual-hosted git repository.

kaxilnaik 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 4a30c7c9ea6 fix: Set triggered_by='ui' for DAG runs triggered from UI 
(#54650)
4a30c7c9ea6 is described below

commit 4a30c7c9ea6cde1e4c7290e09cb34a91b1b61f78
Author: anasatzemoso <[email protected]>
AuthorDate: Fri Sep 19 03:07:53 2025 +0530

    fix: Set triggered_by='ui' for DAG runs triggered from UI (#54650)
---
 .../src/airflow/api_fastapi/core_api/routes/public/dag_run.py | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/airflow-core/src/airflow/api_fastapi/core_api/routes/public/dag_run.py 
b/airflow-core/src/airflow/api_fastapi/core_api/routes/public/dag_run.py
index a1b686fa605..657d2df6955 100644
--- a/airflow-core/src/airflow/api_fastapi/core_api/routes/public/dag_run.py
+++ b/airflow-core/src/airflow/api_fastapi/core_api/routes/public/dag_run.py
@@ -21,7 +21,7 @@ import textwrap
 from typing import Annotated, Literal, cast
 
 import structlog
-from fastapi import Depends, HTTPException, Query, status
+from fastapi import Depends, HTTPException, Query, Request, status
 from fastapi.exceptions import RequestValidationError
 from fastapi.responses import StreamingResponse
 from pydantic import ValidationError
@@ -415,6 +415,7 @@ def trigger_dag_run(
     dag_bag: DagBagDep,
     user: GetUserDep,
     session: SessionDep,
+    request: Request,
 ) -> DAGRunResponse:
     """Trigger a DAG."""
     dm = session.scalar(select(DagModel).where(~DagModel.is_stale, 
DagModel.dag_id == dag_id).limit(1))
@@ -427,6 +428,12 @@ def trigger_dag_run(
             f"DAG with dag_id: '{dag_id}' has import errors and cannot be 
triggered",
         )
 
+    referer = request.headers.get("referer")
+    if referer:
+        triggered_by = DagRunTriggeredByType.UI
+    else:
+        triggered_by = DagRunTriggeredByType.REST_API
+
     try:
         dag = get_latest_version_of_dag(dag_bag, dag_id, session)
         params = body.validate_context(dag)
@@ -438,7 +445,7 @@ def trigger_dag_run(
             run_after=params["run_after"],
             conf=params["conf"],
             run_type=DagRunType.MANUAL,
-            triggered_by=DagRunTriggeredByType.REST_API,
+            triggered_by=triggered_by,
             triggering_user_name=user.get_name(),
             state=DagRunState.QUEUED,
             session=session,

Reply via email to