Sagargupta16 opened a new pull request, #62840:
URL: https://github.com/apache/airflow/pull/62840

   ## Summary
   
   - Add `template_fields` to `SalesforceBulkOperator` enabling Jinja 
templating for `operation`, `object_name`, `payload`, and `external_id_field` 
parameters
   - Move input validation from `__init__` to `execute()` so validation runs 
after template rendering
   - Add `test_template_fields` test and update existing validation tests
   
   ## Motivation
   
   Closes #62375
   
   Without `template_fields`, parameters like `payload` receive literal 
template strings (e.g., `{{ ti.xcom_pull(task_ids='upstream_task') }}`) instead 
of actual XCom values. This change enables dynamic parameterization of the 
Salesforce Bulk API operator, consistent with how other Airflow operators work.
   
   ## Changes
   - `providers/salesforce/src/airflow/providers/salesforce/operators/bulk.py`: 
Added `template_fields` tuple, moved `_validate_inputs()` from `__init__` to 
`execute()`
   - `providers/salesforce/tests/unit/salesforce/operators/test_bulk.py`: Added 
template_fields test, updated validation tests
   
   ## Test plan
   - [x] Added `test_template_fields` to verify the tuple is correctly defined
   - [x] Updated `test_execute_missing_operation` to verify validation during 
`execute()`
   - [x] Updated `test_execute_missing_object_name` to verify validation during 
`execute()`


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to