[ https://issues.apache.org/jira/browse/AIRFLOW-1252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16446696#comment-16446696 ]
Mohammed Tameem commented on AIRFLOW-1252: ------------------------------------------ Use Json client for post request and pass your conf as below {"conf": "{'conf':{'name':'value'}}"} > Experimental API - exception when conf is present in JSON body > -------------------------------------------------------------- > > Key: AIRFLOW-1252 > URL: https://issues.apache.org/jira/browse/AIRFLOW-1252 > Project: Apache Airflow > Issue Type: Bug > Components: api > Affects Versions: Airflow 1.8, 1.8.1 > Reporter: Sergio Herrera > Assignee: Sergio Herrera > Priority: Major > Labels: api > > When someones calls to the endpoint _POST > <host>:<port>/api/experimental/dags/<dag_id>/dag_runs {}_, Airflow never run > that request if the body of that contains _conf_. > This occurs due to a mismatch between types when calling function > _trigger_dag()_, which is also used by *CLI*. That function perform a > _json.loads(conf)_ because from CLI the type of conf is _string_, but, in the > other side, from *experimental API*, that type is _dict_ (because _Json_ is > processed before to get all data, such as execution_date). > There are two possibilities: > 1. Look for every use of _trigger_dag()_ function and put _Json_ formatting > from outside the function. > 2. In the *experimental API*, put the conf in a string (with _json.dumps()_) > to allow _trigger_dag()_ transform into _dict_. > I have implemented the second option, so I can make a PR with that if you > want. > Thank you a lot > EDIT: Also, there are no tests which uses conf in the Json passed through > request currently. -- This message was sent by Atlassian JIRA (v7.6.3#76005)