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

   Part of [AIP-125 (Inbound 
Webhooks)](https://lists.apache.org/thread/p3dpnor4zwko8tldpncj6ftj1bpp18q7), 
which lets external services such as GitHub trigger Dags by sending webhooks to 
Airflow.
   
   Tasks can now wait for webhook deliveries through 
`BaseOperator.wait_for_webhook` (#75343), `WaitForWebhookOperator` (#75345) and 
`@task.webhook_wait` (#75346), but the core docs covered waits only from the 
Deployment Manager's side, and the 3.5 release note covered Phase 1 only. This 
adds `authoring-and-scheduling/webhook-waits.rst` for Dag authors, next to the 
topics page: the three ways to wait with a GitHub merge gate, the match 
grammar, what a task resumes with, timeouts, deliveries that arrive before the 
wait, retries and clears, why a wait is refused, and testing with `airflow dags 
test` and `airflow webhooks send-test`. It merges last of the Phase 2 layers.
   
   - `75167.significant.rst` (#75167), still the one significant newsfragment 
for 3.5, now also covers asset routes, webhook waits, the `inbound_wait` table, 
`awaiting_input` holding webhook waits, the `webhookWaits` route, the new 
outcomes and their redelivery rule, and upgrading the API servers before the 
workers.
   - The API servers that serve the Execution API check each wait against their 
own `[webhooks]` options and `webhook_<name>` connections, so they need the 
same options, connection access and source-type providers as the webhooks 
process, or every wait on those webhooks is refused. `webhooks.rst` and 
`web-stack.rst` say so.
   - `security_model.rst`'s leaked-secret risk now covers routed assets and 
waiting tasks. The GitHub page warns that a wait matching a `label` or `branch` 
can be resumed by whoever can set them, and that a delivery kept `early` for 
waits keeps its payload until `airflow db clean` removes its record after 
`delivery_retention`.
   - The GitHub page and the standard provider's connection page say what waits 
use the correlation key for: it decides which deliveries are kept early, while 
a wait matches attributes, not the key, and compares their values as strings.
   - The least-privilege grants for a delivery that goes to a wait come from 
the tables such a delivery was measured to read and write; as `webhooks.rst` 
says, no test pins those tables.
   - `webhooks.rst` narrows the `ended` status that #75344 describes: a 
delivery ends only a `registered` wait whose try stopped, since a `received` 
wait is offered no other delivery.
   - Pages that said `awaiting_input` means Human-in-the-loop now include 
webhook waits. The public interface lists `wait_for_webhook`, 
`WebhookWaitUnsupported`, the event shapes, the match grammar and the standard 
provider's operator and decorator, and keeps the register-wait Execution API 
route internal. The connection form's `store_payload` text now says it also 
bounds what a wait puts in XCom, so `get_provider_info.py` is regenerated.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — Claude Code (Opus 5.5)
   
   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)
   
   ---
   
   * 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