Webhook
Configurazione
coders webhook create \
--url https://yourapp.com/webhooks/coders \
--events deployment.succeeded deployment.failed build.started
Oppure dal pannello: Progetto → Settings → Webhooks → Add webhook.
Payload
Ogni evento invia una richiesta POST con:
{
"id": "evt_xyz789",
"type": "deployment.succeeded",
"created_at": "2024-04-12T14:22:05Z",
"data": {
"deployment_id": "dpl_abc123",
"project_id": "proj_def456",
"environment": "production",
"url": "https://mio-progetto.coders.app",
"duration_ms": 42350
}
}
Verifica della firma
Ogni richiesta include l'header X-Coders-Signature:
function verifyWebhook(string $payload, string $signature, string $secret): bool
{
$expected = 'sha256=' . hash_hmac('sha256', $payload, $secret);
return hash_equals($expected, $signature);
}
// In un controller Laravel:
$payload = request()->getContent();
$signature = request()->header('X-Coders-Signature');
if (! verifyWebhook($payload, $signature, config('services.coders.webhook_secret'))) {
abort(401, 'Invalid signature');
}
Lista eventi disponibili
| Evento | Descrizione |
|---|---|
build.started |
Build avviata |
build.succeeded |
Build completata con successo |
build.failed |
Build fallita |
deployment.started |
Deploy avviato |
deployment.succeeded |
Deploy completato |
deployment.failed |
Deploy fallito |
deployment.rolled_back |
Rollback eseguito |