Sommaire
Cadrer la passerelle via le guide multi-nœuds, pousser les événements dans la file partagée, comparer à Mattermost et Teams.
L’intérêt pour les petites équipes réside dans la lisibilité opérationnelle : lorsqu’un build échoue sur un Mac précis du pool, le message Webex cite immédiatement mesh_node_id et le lien vers les journaux, ce qui évite les allers-retours SSH inutiles. Ce guide reste volontairement court mais couvre la chaîne complète, des secrets disque jusqu’au triage HTTP, afin qu’un ingénieur puisse rejouer la procédure sur un nouvel environnement sans improviser.
Tensions résolues
- Secrets éparpillés sur chaque Mac.
- États incohérents sans file unique.
- CI verte sans trace POST passerelle.
Configuration du webhook
Créez un Incoming Webhook Webex, copiez l’URL une fois ; c’est un jeton porteur. Stockez-la hors Git, par ex. /etc/openclaw/secrets.d/webex/build-status.url en 0440 (secrets MeshMac). L’ordre conseillé : déployer OpenClaw et ses contrôles de santé, créer le webhook, vérifier un envoi manuel, brancher la file des workers, activer retries et déduplication, puis ouvrir le trafic production.
JSON. application/json, champ markdown court : titre, branche, commit, mesh_node_id, provider_run_id, run_url, extrait d’échec si failed ; visez environ deux kilo-octets. Préférez le français soigné dans le titre mais gardez les identifiants techniques en monospace pour faciliter le copier-coller depuis Webex vers votre forge.
Réseau. Sondez curl depuis la passerelle avec le même UID, proxy et magasin TLS ; autorisez webexapis.com:443 ; calibrez les timeouts avec rate limit passerelle. Si votre entreprise inspecte TLS, importez l’autorité de certification interne dans le truststore du processus OpenClaw : un test navigateur ne suffit pas lorsque le démon utilise un magasin différent.
- Journaux : hôte + quatre derniers caractères du secret.
- Staging / prod séparés.
- Proxy : même bundle CA qu’OpenClaw.
Moindre privilège
Pas de HMAC séparé : l’URL est le secret (notifications build partagé). Pas dans Git ni dans les env exposées aux jobs ; groupe openclaw-notify seul en lecture ; évitez les gros jetons bot sur les runners. Rotation : canaux et jetons — nouveau hook, fichier, reload, sonde, révocation, trace ticket.
Sur un parc partagé, séparez clairement les comptes humains des comptes machines : les développeurs n’ont pas besoin de lire le fichier secret pour déboguer une compilation, ils ont besoin du run_url déjà présent dans la carte. Cette discipline réduit les captures d’écran accidentelles et aligne les audits internes sur une surface minimale.
Retry et backoff
Sur 429 / 503 : backoff exponentiel + jitter, cap tentatives, Retry-After, file par espace. Dédupliquez provider_run_id + état terminal (file retry, backpressure). Markdown léger, timeout client dix à vingt secondes, rafales modérées.
Évitez de relancer automatiquement les erreurs client : un 400 répété ne fera qu’empirer la situation et peut verrouiller temporairement votre intégration. Journalisez plutôt le hachage du corps rejeté et ouvrez un correctif de schéma. Pour les incidents prolongés, fusionnez plusieurs micro-messages en une seule carte incident afin de préserver la lisibilité de l’espace.
Gestion des erreurs 4xx et 5xx courantes
Le tableau ci-dessous sert de feuille de route lors des astreintes : commencez toujours par confirmer le code HTTP côté passerelle avant de soupçonner Webex ou le pare-feu. Lorsque plusieurs équipes partagent le même espace, documentez qui peut modifier l’intégration afin d’éviter les suppressions silencieuses pendant un week-end de migration.
| Code | Action |
|---|---|
400 |
JSON ou markdown invalide : fix schéma, pas de retry aveugle. |
401 / 403 |
Jeton ou politique : nouveau hook, droits espace. |
404 |
URL morte : régénérer secret, retester passerelle. |
429 |
Throttle : fusion messages, Retry-After, backoff. |
500 / 503 |
Amont : retry jitter, carte incident unique. |
Valeur de la collaboration multi-nœuds
Un schéma unique vers la file donne une chronologie Webex alignée sur provider_run_id, simplifie l’audit TLS et l’ajout de Mac. Lorsqu’un nœud tombe en panne, les jobs basculent sans reconfigurer le canal : la passerelle continue d’émettre avec le même secret et les mêmes règles de déduplication.
Réutilisez le flux normalisé pour Teams streaming lorsque les directions techniques sont bilingues Microsoft et Cisco. Le hub OpenClaw regroupe les variantes messagerie afin de capitaliser sur un vocabulaire commun entre sites.
Liste de contrôle et dépannage
- Sonde
curl200+ markdown. - Sorties terminales seulement.
- Idempotence
provider_run_id+ état ≥ 72 h. - Pare-feu
webexapis.compasserelle. - Runbook rotation signé.
- CI verte, Webex muet
- Logs POST, markdown, intégration, curl en UID service.
- Quelques Mac sans carte
- POST direct résiduel : couper egress runner.
- Doublons
- Retries sans clé : renforcer dédup.
- Certificat proxy invalide
- Comparer le truststore du service et celui du shell interactif ; réimporter l’AC racine si nécessaire.
Synthèse
Résumé opérationnel : passerelle unique, secret disque 0440, normalisation des événements, backoff intelligent, tableau 4xx/5xx partagé avec l’astreinte. Les pages accueil, blog et aide restent accessibles sans compte, tout comme les boutons commerciaux ci-dessous.
Étendre le pool MeshMac sans multiplier les webhooks Webex
Accueil, tarifs, blog, aide SSH/VNC — sans compte.