Comment recevoir une notification (webhook) après chaque déploiement ?
Hodiploy peut appeler une URL à vous après chaque déploiement d'une instance, réussi ou non. Ce webhook sortant est fait pour l'automatisation : alimenter un outil de supervision, publier dans Slack ou Teams via un relais comme Zapier, Make ou n8n, déclencher une suite de tests, ou tout ce qu'une requête HTTP peut lancer.
Quand part-il ?
Une requête est envoyée après chaque déploiement terminé, qu'il ait réussi ou échoué :
- Déploiement Git : un push sur la branche connectée a redéployé votre code (voir Hodiploy gère-t-il le déploiement via Git ?)
- Mise à jour d'Odoo : l'image Odoo de votre instance a été mise à jour, que vous l'ayez déclenchée à la main ou qu'elle soit planifiée (voir Puis-je planifier les mises à jour de mon instance Odoo ?). Une vérification planifiée qui ne trouve aucune mise à jour n'envoie rien : le webhook ne parle que quand votre instance a réellement changé, ou a essayé
Le webhook est totalement indépendant du réglage « Alerte Email » : vous pouvez activer l'un, l'autre, les deux ou aucun.
Comment l'activer ?
- Ouvrez la page de modification de votre instance
- Dans la section « Paramètres de l'instance », repérez « Webhook de déploiement »
- Collez l'URL à appeler. Elle doit être une adresse publique en http:// ou https://, joignable depuis internet : les adresses locales ou de réseau privé sont refusées
- Au besoin, définissez une clé de signature pour pouvoir vérifier que les requêtes viennent bien de Hodiploy (voir plus bas)
- Enregistrez
Pour le désactiver, videz l'URL et enregistrez.
Qu'est-ce qui est envoyé ?
Une requête POST en JSON, avec ces en-têtes :
Content-Type: application/jsonX-Hodiploy-Event: l'évènement et son issue, parmigit_deploy.success,git_deploy.failed,erp_update.success,erp_update.failedX-Hodiploy-Signature: seulement si une clé de signature est définie, voir plus bas
Le corps a toujours la même forme ; les champs qui ne concernent pas l'évènement valent null. Par exemple, après un déploiement Git réussi :
{
"event": "git_deploy",
"state": "success",
"instance_id": "0b6e2f7a-9c1d-4a52-8f3e-1d2c3b4a5e6f",
"name": "my-odoo",
"url": "https://my-odoo.example.com",
"tool": "odoo",
"version": "19.0",
"repo": "git@github.com:acme/odoo-addons.git",
"branch": "main",
"commit_ref": "4f2a1c9e8b7d6a5f4e3d2c1b0a9f8e7d6c5b4a39",
"commit_message": "Fix invoice report",
"version_from": null,
"version_to": null,
"image_from": null,
"image_to": null,
"error_message": null,
"finished_at": "2026-08-25T14:03:07.000Z"
}statevautsuccessouerror; en cas d'error,error_messagedit ce qui a échoué- Pour une mise à jour d'Odoo (
event: "erp_update"), les champs de commit valentnulletversion_from/version_toportent la version complète avant et après (par exemple de19.0-20260801à19.0-20260817),image_from/image_toles empreintes des images
Votre point de réception doit répondre avec un statut 2xx en moins de 10 secondes. Une livraison échouée ou trop lente est journalisée de notre côté mais n'est jamais retentée, et elle ne retarde ni ne fait échouer le déploiement qu'elle décrit. Les redirections ne sont pas suivies.
Vérifier la signature
Si vous définissez une clé de signature, chaque requête porte un en-tête X-Hodiploy-Signature de la forme sha256=<hexadécimal> : le HMAC-SHA256 du corps brut de la requête, calculé avec votre clé. Recalculez-le de votre côté et rejetez tout ce qui ne correspond pas. Par exemple en Node.js :
const crypto = require("crypto");
function isFromHodiploy(rawBody, signatureHeader, key) {
const expected = "sha256=" +
crypto.createHmac("sha256", key).update(rawBody).digest("hex");
return signatureHeader === expected;
}
Calculez le HMAC sur le corps brut, tel que reçu, avant tout parsing ou re-sérialisation JSON.
Une question sur le webhook ?
Si vous souhaitez voir Hodiploy en action avant de vous lancer, ou si vous avez une question pour brancher le webhook sur vos outils, contactez-nous, notre équipe se fera un plaisir de vous accompagner.
Mis à jour le : 25/08/2026
Merci !