Articles sur : 💟 Odoo Cloud & Hodiploy
Cet article est aussi disponible en :

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.


À ne pas confondre avec le webhook Git entrant, l'URL que vous ajoutez à votre dépôt pour qu'un push déploie votre code. Celui-ci fait le chemin inverse : c'est Hodiploy qui vous appelle une fois le déploiement terminé.


Quand part-il ?


Une requête est envoyée après chaque déploiement terminé, qu'il ait réussi ou échoué :



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 ?


  1. Ouvrez la page de modification de votre instance
  2. Dans la section « Paramètres de l'instance », repérez « Webhook de déploiement »
  3. 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
  4. Au besoin, définissez une clé de signature pour pouvoir vérifier que les requêtes viennent bien de Hodiploy (voir plus bas)
  5. 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/json
  • X-Hodiploy-Event : l'évènement et son issue, parmi git_deploy.success, git_deploy.failed, erp_update.success, erp_update.failed
  • X-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"
}


  • state vaut success ou error ; en cas d'error, error_message dit ce qui a échoué
  • Pour une mise à jour d'Odoo (event: "erp_update"), les champs de commit valent null et version_from / version_to portent la version complète avant et après (par exemple de 19.0-20260801 à 19.0-20260817), image_from / image_to les 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

Cet article a-t-il répondu à vos questions ?

Partagez vos commentaires

Annuler

Merci !