Why not call Docker Hub's API directly from your own endpoint? You can — but then you own Docker Hub's signature verification, retry handling, and payload quirks yourself. ZestyGlue verifies the signature, normalizes the event into a clean JSON body, and POSTs it to your URL — you only write the part that's actually yours.
What it looks like
ZestyGlue
Docker Hub — Image Pushed
myorg/myapp:v1.4.0
pushed by myorg
A real Docker Hub event, shown as ZestyGlue formats it for Custom Webhook.
Setup — about two minutes
- Create the connector. In ZestyGlue, start a new Docker Hub → Custom Webhook connector. You'll get a unique webhook URL right away.
- Point Docker Hub at it. In your repository, go to Webhooks, and paste in your ZestyGlue webhook URL. That's the only setting — Docker Hub's webhooks have no secret to configure.
- Point it at your endpoint. Paste the URL of your own server, script, or automation tool's webhook receiver — no signup, no app to install.
Tip: Docker Hub's webhook fires on every push to the repository, including automated CI pushes — if you only want to know about release tags, consider a second repository just for tagged releases.
Events you can forward
image pushed
Questions
Does this work for private repositories?
Yes — Docker Hub's webhook feature works the same for private and public repositories, as long as you have admin access to configure it.
Will this fire for automated builds, not just manual pushes?
Yes, any push triggers the webhook, whether it came from docker push, a CI pipeline, or Docker Hub's own autobuild feature.
Do I need to write my own server to receive this?
Yes — this destination expects your own endpoint (or a tool like a serverless function, a script, or another automation platform's webhook trigger) to receive the POST. If you don't have one yet, pick one of ZestyGlue's built-in destinations instead.
What happens if my ZestyGlue subscription lapses?
Events are silently dropped rather than causing errors on Docker Hub's side — Docker Hub never sees a failure response, so it won't retry aggressively or flag your webhook as broken. Your dashboard will simply stop showing new events until you resubscribe.