{# The application's git webhook, as one swappable section. Every state renders through this fragment - not configured, enabled, freshly minted, refused - so the application page and the htmx swaps can never disagree about what the section looks like. A freshly minted secret is shown exactly once, in selectable mono. No later render of this fragment can repeat it: the store keeps it for signature verification only, and no endpoint returns it again. The warning above the value says so in as many words. #} {% import "_macros.html" as m %}
The secret below is shown once and never again, so copy it now. Deliveries signed with any previous secret stop verifying immediately.
Payload URL: {{ webhook_minted.hook_url }}
Secret: {{ webhook_minted.secret }}
GitHub: repository Settings, Webhooks, Add webhook - payload URL and secret above, content type application/json. GitLab: Settings, Webhooks - the URL above, with the secret as Secret token. Gitea: Settings, Webhooks, Add webhook - target URL and secret above.
{% endif %} {% if webhook_enabled %}{{ m.badge("active", "enabled") }} A signed push to the tracked branch redeploys this application through {{ webhook_url }}.
{% else %}Pushes to the repository do not deploy. Enabling mints a signing secret, shown once, and gives the forge a URL to deliver to; a verified push to the tracked branch then redeploys this application.
{% endif %} {% if webhook_rows %}| Delivery | Commit | Took | Started | Detail |
|---|---|---|---|---|
| {{ m.badge(row.state, row.status) }} | {{ row.commit }} | {{ row.duration }} | {{ row.started }} | Open |
No delivery has deployed this application yet.
{% endif %}