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

   ## Why
   
   `airflowctl` API operations need to build query parameters consistently when 
optional filters are added. The Dag run list operation already had several 
repeated checks for skipping unset values and serializing datetimes, and 
similar optional parameter handling exists in other operations. Centralizing 
that logic makes future filters easier to add without duplicating the same 
query parameter handling.
   
   suggested by @bugraoz93 in 
https://github.com/apache/airflow/pull/68564#discussion_r3508011496
   
   ## What
   
   - Added helper functions in `airflow-ctl/src/airflowctl/api/operations.py` 
to build query parameters and serialize `datetime` values with `isoformat()`.
   - Updated `DagRunOperations.list()` to use the shared helper for state, 
date, logical date, ordering, and limit query parameters.
   - Updated `JobsOperations.list()` to use the same helper while preserving 
the existing behavior for empty `job_type` and `hostname` values.
   - Added a unit test in 
`airflow-ctl/tests/airflow_ctl/api/test_operations.py` covering skipped `None` 
values and datetime serialization.
   
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   <!--
   If generative AI tooling has been used in the process of authoring this PR, 
please
   change below checkbox to `[X]` followed by the name of the tool, uncomment 
the "Generated-by".
   -->
   
   - [ ] Yes (please specify the tool below)
   
   <!--
   Generated-by: [Tool Name] following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   -->
   
   ---
   
   * Read the **[Pull Request 
Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)**
 for more information. Note: commit author/co-author name and email in commits 
become permanently public when merged.
   * For fundamental code changes, an Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals))
 is needed.
   * When adding dependency, check compliance with the [ASF 3rd Party License 
Policy](https://www.apache.org/legal/resolved.html#category-x).
   * For significant user-facing changes create newsfragment: 
`{pr_number}.significant.rst`, in 
[airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments).
 You can add this file in a follow-up commit after the PR is created so you 
know the PR number.
   


-- 
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