ccoliu opened a new pull request, #72425:
URL: https://github.com/apache/airflow/pull/72425
closes: #72386
### Description
Currently, the Airflow 3 UI only allows operators to manually mark a Task
Instance as **Success** or **Failed**, but does not expose the option to mark
it as **Skipped**.
However, the backend API (`PatchTaskInstanceBody.validate_new_state`)
already accepts `TaskInstanceState.SKIPPED` as a valid target state. Marking a
task as `SUCCESS` vs `SKIPPED` has distinct semantics in execution history,
audit logs, and downstream trigger rule evaluation (e.g., `none_failed` vs
`none_skipped`).
This PR:
1. Splits `allowedStates` in `src/components/MarkAs/utils.ts` into:
- `allowedRunStates`: `["success", "failed"]` (maintaining the existing
constraint that Dag Runs cannot be marked skipped)
- `allowedTaskStates`: `["success", "failed", "skipped"]` (enabling
skipped for task instances and task groups)
2. Updates `MarkTaskInstanceAsButton`, `MarkTaskGroupAsButton`, and
`BulkMarkTaskInstancesAsButton` to use `allowedTaskStates`.
3. Adds the missing tooltip translation for `skipped` in `en/dags.json`.
### Screenshots
| Before | After |
| --- | --- |
| Only Success / Failed in Mark As menu | Success / Failed / **Skipped**
(pink badge) available |
<img width="451" height="255" alt="{94EAE782-BE3C-496C-90DB-0FA077C88D4E}"
src="https://github.com/user-attachments/assets/d0b95bdf-f5e5-4697-8110-66e39dca3aac"
/>
---
##### Was generative AI tooling used to co-author this PR?
- [x] Yes (Claude Opus 5)
Generated-by: Antigravity IDE following [the
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
--
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]