Webhooks
What it is
A webhook is an event-driven HTTP request from a publisher to an endpoint chosen by a subscriber. For example, Azure DevOps can post a JSON representation of a repository or pipeline event to another service. The receiving endpoint is often called a webhook handler.
Why it exists
Webhooks provide timely integration without repeatedly asking the publisher whether anything happened (polling). They can connect source control, work tracking, release communication, incident systems, and custom automation.
Key ideas
- Use HTTPS. Configure and verify the publisher’s supported authentication or signature method before accepting a delivery.
- Treat the payload as untrusted input. Validate its shape and authorize any action it asks your system to perform.
- Make the handler idempotent: a delivery can be retried, duplicated, late, or out of order.
- Acknowledge promptly when the publisher requires it, and place longer work on a queue or worker.
- Log a delivery identifier, outcome, retries, and failures. Test the complete path, including a failed destination.
Northwind example
When Northwind’s production deployment finishes, Azure DevOps posts an event to its release-notification endpoint. The handler accepts only HTTPS traffic, checks the configured authentication, records the delivery, and queues the message to notify the operations team. If Azure DevOps retries the same event, the stored delivery identifier prevents a duplicate notification.
Related
devops-collaboration-integration · pipeline-run · docs-as-code · northwind-traders-case-study
Sources and re-audit
- Microsoft Learn — Webhooks with Azure DevOps, checked 2026-09-17.