Skip to content

[AIP-94] Add airflowctl Tasks List Command - #70472

Open
ColtenOuO wants to merge 1 commit into
apache:mainfrom
ColtenOuO:airflowctl-tasks-list
Open

[AIP-94] Add airflowctl Tasks List Command#70472
ColtenOuO wants to merge 1 commit into
apache:mainfrom
ColtenOuO:airflowctl-tasks-list

Conversation

@ColtenOuO

@ColtenOuO ColtenOuO commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Adds airflowctl tasks list <dag_id> [--order-by], backed by the existing GET /dags/{dag_id}/tasks Public API endpoint, and marks the core airflow tasks list command with @deprecated_for_airflowctl.

related: #68402 [AIP-94] airflowctl command migration

Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Opus 5) for writing Tests.

@potiuk

potiuk commented Jul 30, 2026

Copy link
Copy Markdown
Member

Heads-up: I merged #69274 earlier today and it has just put this PR into conflict — apologies, the overlap wasn't visible until I went looking.

#69274 marked the tasks CLI commands as migrated, which included adding exactly the two lines this PR also adds:

  • @deprecated_for_airflowctl("airflowctl tasks list") on task_list in airflow-core/src/airflow/cli/commands/task_command.py (now on main)
  • (task_command.task_list, "airflowctl tasks list") in test_command_deprecations.py

This branch is ~133 commits behind main, so both will collide on rebase. The fix is simply to drop them from this PR — they're already on main — and keep the airflowctl side, which is the actual substance here.

Same situation applies to #69397 (tasks failed-deps), which I've flagged there too. Worth knowing the pattern: the AIP-94 marker PRs and the airflowctl command PRs touch the same two core files, so whichever lands first obliges the other to rebase.


Drafted-by: Claude Code (Opus 5); reviewed by @potiuk before posting

@ColtenOuO
ColtenOuO force-pushed the airflowctl-tasks-list branch from 10429af to d81c6f7 Compare July 30, 2026 14:27
@ColtenOuO

Copy link
Copy Markdown
Contributor Author

Thanks for the heads-up! Rebased onto latest main and dropped both duplicated lines

Listing a Dag's tasks currently requires the local `airflow tasks list`
command, which parses Dag files on the caller's machine and needs direct
metadata database access. Exposing it through airflowctl lets operators
list tasks against the Public API under RBAC instead, per AIP-94.

related: apache#68402
@ColtenOuO
ColtenOuO force-pushed the airflowctl-tasks-list branch from d81c6f7 to 5424ba7 Compare July 30, 2026 14:41
@ColtenOuO

Copy link
Copy Markdown
Contributor Author

I think the failing Airflow CTL tests check doesn't come from this PR (?

The tasks list tests had passed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants