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

potiuk pushed a commit to branch v2-8-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 0fc883873182086a9739baa58ec6aa11776fd3d3
Author: Jens Scheffler <[email protected]>
AuthorDate: Mon Jan 29 13:50:56 2024 +0100

    Bugfix Triggering DAG with parameters is mandatory when 
show_trigger_form_if_no_params is enabled (#37063)
    
    * Add a requested default configuration to form call to start w/o form 
display
    
    * Follow-up bugfix - ensure bad form values are transferred when key exists
    
    (cherry picked from commit 1197f2ff654e2fdafbb9d410a8d99cb6d6d3f8e6)
---
 airflow/www/templates/airflow/dag.html  | 1 +
 airflow/www/templates/airflow/dags.html | 1 +
 airflow/www/views.py                    | 3 ++-
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/airflow/www/templates/airflow/dag.html 
b/airflow/www/templates/airflow/dag.html
index 8d39d05a40..8d77db0181 100644
--- a/airflow/www/templates/airflow/dag.html
+++ b/airflow/www/templates/airflow/dag.html
@@ -231,6 +231,7 @@
                   <input type="hidden" name="csrf_token" value="{{ 
csrf_token() }}">
                   <input type="hidden" name="dag_id" value="{{ dag.dag_id }}">
                   <input type="hidden" name="unpause" value="True">
+                  <input type="hidden" name="conf" value="{}">
                   <!-- for task instance detail pages, dag_id is still a query 
param -->
                   {% if 'dag_id' in request.args %}
                     <input type="hidden" name="origin" value="{{ 
url_for(request.endpoint, **request.args) }}">
diff --git a/airflow/www/templates/airflow/dags.html 
b/airflow/www/templates/airflow/dags.html
index 93d03dfdcf..0acd68b5a1 100644
--- a/airflow/www/templates/airflow/dags.html
+++ b/airflow/www/templates/airflow/dags.html
@@ -377,6 +377,7 @@
                           <input type="hidden" name="csrf_token" value="{{ 
csrf_token() }}">
                           <input type="hidden" name="dag_id" value="{{ 
dag.dag_id }}">
                           <input type="hidden" name="unpause" value="True">
+                          <input type="hidden" name="conf" value="{}">
                           <button type="submit" 
class="dropdown-form-btn">Trigger DAG</button>
                         </form>
                       </li>
diff --git a/airflow/www/views.py b/airflow/www/views.py
index f2ea54e81a..4bf06d35c7 100644
--- a/airflow/www/views.py
+++ b/airflow/www/views.py
@@ -2188,7 +2188,8 @@ class Airflow(AirflowBaseView):
             form = DateTimeForm(data={"execution_date": execution_date})
             # Take over "bad" submitted fields for new form display
             for k, v in form_fields.items():
-                form_fields[k]["value"] = run_conf[k]
+                if k in run_conf:
+                    form_fields[k]["value"] = run_conf[k]
             return self.render_template(
                 "airflow/trigger.html",
                 form_fields=form_fields,

Reply via email to