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]