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

   Building on #76260, which added the `/triggers` API endpoint. Airflow 3 has 
no page for triggers, and an asset's watchers only show a name and trigger id, 
so a failing watcher stays invisible unless you go looking. This PR adds a 
Triggers page and shows a failing trigger where users already look.
   
   - A Triggers page under Browse lists every trigger the user can see, of 
every kind, with its status, owner, triggerer, failures and last error, and can 
be filtered by kind, status and triggerer. The menu entry follows the Dags 
permission, like Dag runs and task instances.
   - Each trigger has its own page with Details and Owner tabs. A watcher's 
page lists the Dags scheduled on its assets, and the list shows how many Dags 
each watcher affects.
   - A failing watcher shows on its asset's watchers button, as a badge on the 
page of each Dag scheduled on it, and in a Failing Triggers card on the 
dashboard.
   - Hovering a status explains it, and a recovered trigger still shows when it 
last failed.
   - A task instance's triggerer info and a Dag run's Callbacks tab link to 
their trigger.
   
   Several of these came from user feedback on a preview, one commit each.
   
   API changes: each watcher in `GET /triggers` gains `scheduled_dag_ids`, and 
`GET /triggers` takes a `scheduled_dag_id` filter for the Dag page badge. Both 
only include Dags the caller can read. The UI deadlines response gains 
`callback_trigger_id` for the Callbacks tab link.
   
   A Logs tab on the trigger page comes with the logs endpoint PR (#76560).
   
   How to review: `pages/Triggers/` and `pages/Trigger/` first, then the 
feedback commits one by one. About 1,300 lines of source; the rest is tests, 
generated code and translations.
   
   Demo from Breeze, with a healthy, a failing and a recovered watcher, 
deferred tasks, a deadline callback and an orphaned trigger:
   
   _(video and screenshot of the Triggers list to be attached)_
   
   ---
   
   ##### 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".
   -->
   
   - [X] Yes (please specify the tool below)
   
   Generated-by: Claude Code (Opus 5.5) 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]

Reply via email to