Skip to content

Commit 1abde0c

Browse files
committed
Support no_status alias in TaskInstance state filter for REST API
1 parent 4871ecd commit 1abde0c

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

airflow-core/src/airflow/api_fastapi/common/parameters.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,7 @@ def _transform_ti_states(states: list[str] | None) -> list[TaskInstanceState | N
610610
return None
611611

612612
try:
613-
return [None if s in ("none", None) else TaskInstanceState(s) for s in states]
613+
return [None if s in ("no_status", "none", None) else TaskInstanceState(s) for s in states]
614614
except ValueError:
615615
raise HTTPException(
616616
status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,

airflow-core/tests/unit/api_fastapi/core_api/routes/public/test_task_instances.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -964,6 +964,19 @@ class TestGetTaskInstances(TestTaskInstanceEndpoint):
964964
3,
965965
id="test state filter",
966966
),
967+
pytest.param(
968+
[
969+
{"state": State.RUNNING},
970+
{"state": State.QUEUED},
971+
{"state": State.SUCCESS},
972+
{"state": State.NONE},
973+
],
974+
False,
975+
("/dags/example_python_operator/dagRuns/TEST_DAG_RUN_ID/taskInstances"),
976+
{"state": ["no_status"]},
977+
1,
978+
id="test no_status state filter",
979+
),
967980
pytest.param(
968981
[
969982
{"state": State.NONE},

0 commit comments

Comments
 (0)