From 330b0a02a55df07c7f96cfb8ff295c1f84b12d18 Mon Sep 17 00:00:00 2001 From: GitHub Agent Date: Thu, 9 Jul 2026 18:24:28 +0530 Subject: [PATCH 1/2] Solution for #50624: Airflow 3.0.x : Bring back from Airflow 2.x "Status of all p --- path/to/airflow-webserver/__init__.py | 5 +++++ path/to/airflow-webserver/app.js | 1 + path/to/airflow-webserver/routes.js | 1 + path/to/airflow-webserver/services.js | 1 + path/to/airflow-webserver/templates/dags.html | 21 ++++++++++++++++++ path/to/airflow-webserver/views/__init__.py | 4 ++++ path/to/airflow-webserver/views/dags.py | 22 +++++++++++++++++++ 7 files changed, 55 insertions(+) create mode 100644 path/to/airflow-webserver/__init__.py create mode 100644 path/to/airflow-webserver/app.js create mode 100644 path/to/airflow-webserver/routes.js create mode 100644 path/to/airflow-webserver/services.js create mode 100644 path/to/airflow-webserver/templates/dags.html create mode 100644 path/to/airflow-webserver/views/__init__.py create mode 100644 path/to/airflow-webserver/views/dags.py diff --git a/path/to/airflow-webserver/__init__.py b/path/to/airflow-webserver/__init__.py new file mode 100644 index 0000000000000..531e12bd3b5e1 --- /dev/null +++ b/path/to/airflow-webserver/__init__.py @@ -0,0 +1,5 @@ +from flask import Flask +from .views import init_app + +app = Flask(__name__) +init_app(app) \ No newline at end of file diff --git a/path/to/airflow-webserver/app.js b/path/to/airflow-webserver/app.js new file mode 100644 index 0000000000000..e70f5e7155b6d --- /dev/null +++ b/path/to/airflow-webserver/app.js @@ -0,0 +1 @@ +// No changes needed \ No newline at end of file diff --git a/path/to/airflow-webserver/routes.js b/path/to/airflow-webserver/routes.js new file mode 100644 index 0000000000000..e70f5e7155b6d --- /dev/null +++ b/path/to/airflow-webserver/routes.js @@ -0,0 +1 @@ +// No changes needed \ No newline at end of file diff --git a/path/to/airflow-webserver/services.js b/path/to/airflow-webserver/services.js new file mode 100644 index 0000000000000..e70f5e7155b6d --- /dev/null +++ b/path/to/airflow-webserver/services.js @@ -0,0 +1 @@ +// No changes needed \ No newline at end of file diff --git a/path/to/airflow-webserver/templates/dags.html b/path/to/airflow-webserver/templates/dags.html new file mode 100644 index 0000000000000..e380e5106f433 --- /dev/null +++ b/path/to/airflow-webserver/templates/dags.html @@ -0,0 +1,21 @@ +{% extends 'base.html' %} + +{% block content %} +

DAGs

+ + + + + + + + + {% for dag in dags %} + + + + + {% endfor %} + +
DAG IDPrevious Run Status
{{ dag.dag_id }}{{ previous_runs[loop.index0]['status'] }}
+{% endblock %} \ No newline at end of file diff --git a/path/to/airflow-webserver/views/__init__.py b/path/to/airflow-webserver/views/__init__.py new file mode 100644 index 0000000000000..e6a852b9e0504 --- /dev/null +++ b/path/to/airflow-webserver/views/__init__.py @@ -0,0 +1,4 @@ +from .dags import dags_blueprint + +def init_app(app): + app.register_blueprint(dags_blueprint) \ No newline at end of file diff --git a/path/to/airflow-webserver/views/dags.py b/path/to/airflow-webserver/views/dags.py new file mode 100644 index 0000000000000..849074ab82ba0 --- /dev/null +++ b/path/to/airflow-webserver/views/dags.py @@ -0,0 +1,22 @@ +from airflow import settings +from airflow.models import DagModel +from airflow.utils import timezone +from flask import Blueprint, render_template + +dags_blueprint = Blueprint('dags', __name__, template_folder='templates') + +@dags_blueprint.route('/dags') +def dags(): + # Get all DAGs + dags = DagModel.query.all() + + # Get the status of all previous DAG runs + previous_runs = [] + for dag in dags: + runs = DagModel.query.filter_by(dag_id=dag.dag_id).order_by(DagModel.run_id.desc()).all() + previous_runs.append({ + 'dag_id': dag.dag_id, + 'status': 'success' if runs[0].state == 'success' else 'failure' + }) + + return render_template('dags.html', dags=dags, previous_runs=previous_runs) \ No newline at end of file From 28c724fd1b85dfcf0eced5d624b4e94324b74984 Mon Sep 17 00:00:00 2001 From: GitHub Agent Date: Thu, 9 Jul 2026 18:25:15 +0530 Subject: [PATCH 2/2] Solution for #50624: Airflow 3.0.x : Bring back from Airflow 2.x "Status of all p