This is an automated email from the ASF dual-hosted git repository.
msumit 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 d7aed84 Add note about params on trigger DAG page (#18166)
d7aed84 is described below
commit d7aed84f64c900d636b29328fd76f91ab34d6ca5
Author: Sumit Maheshwari <[email protected]>
AuthorDate: Sun Sep 12 13:34:20 2021 +0530
Add note about params on trigger DAG page (#18166)
---
airflow/www/templates/airflow/trigger.html | 7 +++++++
airflow/www/views.py | 23 ++++++++++++++++++++---
2 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/airflow/www/templates/airflow/trigger.html
b/airflow/www/templates/airflow/trigger.html
index 4ae838f..fb1fd88 100644
--- a/airflow/www/templates/airflow/trigger.html
+++ b/airflow/www/templates/airflow/trigger.html
@@ -47,6 +47,13 @@
</div>
<p>
To access configuration in your DAG use <code>{{ '{{ dag_run.conf }}'
}}</code>.
+ {% if is_dag_run_conf_overrides_params %}
+ As <code>core.dag_run_conf_overrides_params</code> is set to
<code>True</code>, so passing any configuration
+ here will override task params which can be accessed via <code>{{ '{{
params }}' }}</code>.
+ {% else %}
+ As <code>core.dag_run_conf_overrides_params</code> is set to
<code>False</code>, so passing any configuration
+ here won't override task params.
+ {% endif %}
</p>
<div class="form-group">
<label class="switch-label">
diff --git a/airflow/www/views.py b/airflow/www/views.py
index 1423568..968770f 100644
--- a/airflow/www/views.py
+++ b/airflow/www/views.py
@@ -1625,6 +1625,7 @@ class Airflow(AirflowBaseView):
unpause = request.values.get('unpause')
request_conf = request.values.get('conf')
request_execution_date = request.values.get('execution_date',
default=timezone.utcnow().isoformat())
+ is_dag_run_conf_overrides_params = conf.getboolean('core',
'dag_run_conf_overrides_params')
if request.method == 'GET':
# Populate conf textarea with conf requests parameter, or
dag.params
@@ -1648,6 +1649,7 @@ class Airflow(AirflowBaseView):
conf=default_conf,
doc_md=doc_md,
form=form,
+
is_dag_run_conf_overrides_params=is_dag_run_conf_overrides_params,
)
dag_orm = session.query(models.DagModel).filter(models.DagModel.dag_id
== dag_id).first()
@@ -1661,7 +1663,12 @@ class Airflow(AirflowBaseView):
flash("Invalid execution date", "error")
form = DateTimeForm(data={'execution_date':
timezone.utcnow().isoformat()})
return self.render_template(
- 'airflow/trigger.html', dag_id=dag_id, origin=origin,
conf=request_conf, form=form
+ 'airflow/trigger.html',
+ dag_id=dag_id,
+ origin=origin,
+ conf=request_conf,
+ form=form,
+
is_dag_run_conf_overrides_params=is_dag_run_conf_overrides_params,
)
dr = DagRun.find(dag_id=dag_id, execution_date=execution_date,
run_type=DagRunType.MANUAL)
@@ -1677,13 +1684,23 @@ class Airflow(AirflowBaseView):
flash("Invalid JSON configuration, must be a dict",
"error")
form = DateTimeForm(data={'execution_date':
execution_date})
return self.render_template(
- 'airflow/trigger.html', dag_id=dag_id, origin=origin,
conf=request_conf, form=form
+ 'airflow/trigger.html',
+ dag_id=dag_id,
+ origin=origin,
+ conf=request_conf,
+ form=form,
+
is_dag_run_conf_overrides_params=is_dag_run_conf_overrides_params,
)
except json.decoder.JSONDecodeError:
flash("Invalid JSON configuration, not parseable", "error")
form = DateTimeForm(data={'execution_date': execution_date})
return self.render_template(
- 'airflow/trigger.html', dag_id=dag_id, origin=origin,
conf=request_conf, form=form
+ 'airflow/trigger.html',
+ dag_id=dag_id,
+ origin=origin,
+ conf=request_conf,
+ form=form,
+
is_dag_run_conf_overrides_params=is_dag_run_conf_overrides_params,
)
dag = current_app.dag_bag.get_dag(dag_id)