Webhooks
Les webhooks notifient un système externe lorsqu'une exportation planifiée se termine. Ils sont fournis par l'app Exportelier Automation et restent désactivés tant qu'un administrateur du site n'a pas activé la livraison par webhook.
Types de webhooks disponibles
- Webhook entrant Slack — publie le résumé de l'exportation sous forme de message de canal ordinaire.
- Webhook de workflow Microsoft Teams — publie une Adaptive Card 1.2 via un workflow Teams créé par le client.
Les paramètres des points de terminaison webhook avec type, référence masquée et statut.
Un webhook ne joint jamais le fichier PDF, DOCX ou Markdown généré au message du fournisseur. Par défaut, une exportation planifiée d'un seul élément contient un lien vers cet élément Jira. Si la même exécution comporte aussi une cible de pièce jointe Jira réussie, le message contient un lien vers cette pièce jointe générée. Les deux liens restent dans Jira et exigent les accès Jira correspondants du destinataire.
À quoi ressemble le message
Les deux canaux envoient la même ligne de résumé :
Exportelier export "Weekly sprint report": sprint-report-2026-09-01.pdf (14 issues)
- Slack reçoit le résumé suivi des liens cliquables Ouvrir l'élément Jira et Ouvrir le document lorsqu'ils sont disponibles.
- Teams reçoit une Adaptive Card 1.2 dont le titre est
Exportelier export: <nom de la planification>, avec la même ligne de résumé et des actionsOpenUrlcorrespondantes lorsqu'elles sont disponibles.
Le lien vers l'élément Jira est omis pour les exportations de plusieurs éléments. Le lien vers le document est omis sauf si une cible de pièce jointe Jira réussit d'abord. Le message Tester du point de terminaison ne contient aucun lien, car il n'exporte ni ne joint de document.
Configuration
Les deux canaux suivent les mêmes trois étapes : activer la livraison une fois, enregistrer le point de terminaison, puis le sélectionner sur une planification.
1. Activer la livraison par webhook
Dans Exportelier Automation, ouvrez Paramètres → Livraison externe et activez Activer la livraison par webhook. Une boîte de dialogue de confirmation apparaît : c'est le moment où un administrateur du site accepte explicitement que des données quittent Atlassian.
Tant que cet interrupteur est désactivé, la cible de livraison Webhook reste grisée sur toutes les planifications et rien n'est jamais envoyé.
2a. Enregistrer un webhook entrant Slack
Slack délivre les URL de webhooks entrants via une app Slack :
- Ouvrez api.slack.com/apps et choisissez Create New App → From scratch. Donnez-lui un nom — par exemple
Exportelier— et sélectionnez l'espace de travail cible. - Dans la barre latérale de l'app, ouvrez Incoming Webhooks et activez Activate Incoming Webhooks.
- Cliquez sur Add New Webhook to Workspace, sélectionnez le canal qui doit recevoir les notifications et confirmez avec Allow.
- Copiez la Webhook URL générée. Elle a la forme
https://hooks.slack.com/services/T…/B…/…. Traitez-la comme un mot de passe : quiconque la détient peut publier dans ce canal. - Dans Exportelier Automation, allez dans Paramètres → Points de terminaison webhook, réglez Canal sur Webhook entrant Slack, collez l'URL dans Point de terminaison et cliquez sur Ajouter un point de terminaison.
Exportelier n'accepte que les URL HTTPS sur l'hôte hooks.slack.com. Les messages apparaissent sous le nom et l'icône de l'app Slack que vous avez créée ; les deux se modifient dans Slack sous Basic Information → Display Information.
Slack Workflow Builder délivre également des URL hooks.slack.com, mais elles ressemblent à https://hooks.slack.com/triggers/… et attendent les variables nommées de ce workflow plutôt qu'un champ text. La vérification d'hôte d'Exportelier accepte une telle URL, mais aucun message lisible n'apparaîtra dans le canal. Utilisez un webhook entrant (/services/…) issu d'une app Slack comme décrit ci-dessus.
2b. Enregistrer un webhook de workflow Microsoft Teams
Microsoft a retiré les webhooks de connecteurs Office 365 en mai 2026. Exportelier n'accepte donc de nouveaux points de terminaison Teams que depuis Microsoft Teams Workflows.
- Dans le canal Teams cible, ouvrez Plus d'options (…) → Workflows.
- Sélectionnez Send webhook alerts to a channel. Il s'agit du modèle
Anyone. Si vous créez le workflow de zéro, choisissez le déclencheur When a Teams webhook request is received et réglez son type d'authentification sur Anyone. - Authentifiez le compte Microsoft qui possédera le workflow, sélectionnez l'équipe et le canal, puis ajoutez le workflow. Microsoft indique que ces modèles de webhook Teams ne nécessitent pas de licence premium.
- Copiez l'URL générée. Traitez-la comme un mot de passe : quiconque possède cette URL signée peut déclencher le workflow.
- Dans Exportelier Automation, allez dans Paramètres → Points de terminaison webhook, réglez Canal sur Webhook de workflow Microsoft Teams, collez l'URL dans Point de terminaison et cliquez sur Ajouter un point de terminaison.
Les URL prises en charge utilisent HTTPS sur un sous-domaine de environment.api.powerplatform.com ou logic.azure.com. Exportelier n'envoie pas d'en-tête OAuth ; l'URL secrète Anyone autorise la requête.
Les messages apparaissent sous l'identité par défaut du bot Workflows de Microsoft. Microsoft ne prend pas en charge de nom ni d'icône de bot personnalisés pour ces publications par webhook.
Les points de terminaison *.webhook.office.com enregistrés restent visibles avec le statut Action requise afin que les planifications ne soient pas modifiées silencieusement. Créez et testez un nouveau point de terminaison de workflow, mettez à jour toutes les planifications concernées, et supprimez seulement ensuite l'ancien point de terminaison. Les points de terminaison hérités ne sont pas disponibles pour de nouvelles planifications et échouent localement avant l'envoi de toute requête.
2c. Vérifier le point de terminaison
Chaque point de terminaison enregistré dispose d'un bouton Tester. Il publie un message fixe —
Exportelier test message: this webhook endpoint is configured correctly. No export was generated.
— via le même contrôle de sortie, le même secret stocké et le même générateur de charge utile qu'une exécution planifiée : un test réussi prouve donc le chemin de livraison, et pas seulement le format de l'URL. La ligne affiche Envoyé en cas de succès ; en cas d'échec, la raison apparaît au-dessus du tableau et correspond à la liste de dépannage ci-dessous.
Le bouton est grisé tant que la livraison par webhook est désactivée, car rien ne serait envoyé.
3. Sélectionner le point de terminaison sur une planification
Ouvrez Planifications, modifiez la planification qui doit notifier et ajoutez la cible de livraison Webhook. Choisissez le Canal puis le Point de terminaison stocké — les points de terminaison sont listés par leur référence masquée, car l'URL elle-même n'est jamais renvoyée au navigateur après l'enregistrement.
Les deux options de lien sont activées par défaut et peuvent être désactivées séparément. Une planification peut combiner des cibles : la même exécution peut joindre le document à un élément Jira et publier une notification webhook. Exportelier termine la cible de pièce jointe avant un webhook demandant le lien du document, quel que soit l'ordre affiché.
Dépannage
Rien n'arrive immédiatement. Exportelier Automation vérifie les planifications dues toutes les cinq minutes ; une livraison peut donc accuser jusqu'à cinq minutes de retard sur l'heure configurée. Pour vérifier un point de terminaison sans attendre une exécution, utilisez son bouton Tester dans Paramètres → Points de terminaison webhook : il renvoie les mêmes messages qu'une exécution planifiée.
Vérifiez le résultat de la dernière exécution. La liste Planifications comporte une colonne Dernière exécution avec le statut Réussie, Partiellement réussie ou Échec de l'exécution, et affiche la raison d'un échec. Une exécution qui a généré le document mais n'a pas pu publier le webhook est signalée comme Partiellement réussie.
| Message | Signification |
|---|---|
| La livraison par webhook a été désactivée par un administrateur. | L'interrupteur Activer la livraison par webhook dans Paramètres → Livraison externe est désactivé. |
| Le point de terminaison webhook n'est pas configuré. | Le point de terminaison stocké a été révoqué dans Exportelier alors qu'une planification y faisait encore référence. Enregistrez-le à nouveau et resélectionnez-le sur la planification. |
| Le secret stocké ne correspond pas à ce canal de webhook. | Le canal de la planification a été basculé vers l'autre fournisseur sans choisir un point de terminaison correspondant. |
| Le point de terminaison webhook a rejeté la demande. | Le fournisseur a répondu par une erreur — typiquement un webhook révoqué dans Slack, ou un workflow Teams désactivé ou supprimé. Créez un nouveau point de terminaison côté fournisseur. |
| Un webhook Slack doit utiliser une URL https hooks.slack.com. | L'URL a été rejetée à l'enregistrement. Copiez-la à nouveau depuis la page Incoming Webhooks de l'app Slack. |
| Ce connecteur Microsoft Teams n'est plus pris en charge. | Un connecteur *.webhook.office.com retiré. Remplacez-le par un point de terminaison de workflow comme décrit ci-dessus. |
Rien n'arrive dans le canal alors que l'exécution est réussie. Slack et Teams répondent tous deux 200 avant que le message ne soit rendu. Vérifiez que le webhook est toujours rattaché au canal attendu — dans Slack sous Incoming Webhooks, dans Teams sous Workflows.
Fiabilité et sécurité
- La livraison par webhook est désactivée par défaut et exige une confirmation explicite de l'administrateur.
- Les URL des points de terminaison sont stockées comme secrets Forge chiffrés, ne sont jamais renvoyées au navigateur après l'enregistrement et ne s'affichent que sous forme de référence masquée. Elles ne doivent pas figurer dans des tickets, des captures d'écran ou des journaux.
- Les options de lien activées envoient l'adresse du site Jira et, pour les exportations d'un seul élément, la clé de cet élément au fournisseur externe. Les URL générées ne contiennent ni identifiants ni paramètres de requête signés et exigent toujours l'authentification et les autorisations Jira.
- Les requêtes expirent après 10 secondes et ne sont réessayées qu'une fois, uniquement en cas d'échec réseau, de HTTP
429ou5xx. Une réponse4xxest définitive et n'est pas réessayée. - Une réponse positive du fournisseur, y compris HTTP
200ou202, marque la cible comme livrée.
Consultez Architecture de sécurité pour savoir comment le trafic sortant est isolé, et la page API pour le déclenchement programmatique.