Regardez d'abord
Ce qu'il vous faut
- Une adresse qui accepte un POST avec du JSON, commençant par
https://. La plupart des outils d'automatisation vous en fournissent une (voir Exemples). - Des droits d'administrateur dans votre espace de travail UAT Studio.
Connectez votre webhook
Obtenez l'adresse de votre flux
Créez d'abord la partie réceptrice, dans l'outil que vous utilisez, et copiez son adresse. Vous voulez voir les messages avant de construire quoi que ce soit ? Ouvrez webhook.site : il vous donne une adresse temporaire et affiche tout ce qui y est envoyé. Utilisez-le uniquement avec des données de test.
Ajoutez le webhook dans UAT Studio
Ouvrez votre espace de travail, cliquez sur Connections, choisissez Webhook sous Add a connection et cliquez sur Add. Renseignez ensuite :
- Webhook address : l'adresse de l'étape 1.
- Send automatically :
- Only when I click Send on an issue (par défaut) : un administrateur décide quelles anomalies sont envoyées.
- Every new issue and every status change, by itself : tout est envoyé immédiatement.
Cliquez sur Save settings. Le choix sous Send automatically est enregistré dès que vous le modifiez.

Ajoutez un secret (facultatif, recommandé)
Pour que votre flux sache qu'un message vient vraiment d'UAT Studio, inventez un long secret aléatoire (au moins 8 caractères, de préférence 32 ou plus), collez-le sous Secret (optional) et cliquez sur Store token. Chaque message porte alors l'en-tête :
Authorization: Bearer <votre secret>
Faites refuser par votre flux les messages sans le bon en-tête. Le secret est stocké chiffré et ne peut pas être relu ; collez-en un nouveau pour le remplacer.
Testez la connexion
Cliquez sur Test connection. UAT Studio envoie :
{ "event": "test", "message": "Test message from UAT Studio" }
Toute réponse de 200 à 299 compte comme un succès ; vous verrez The webhook answered 200. Assurez-vous que votre flux accepte l'événement de test, ou l'ignore, sans erreur.
Quand il envoie
| Événement | Quand |
|---|---|
issue.sent | Un administrateur clique sur Send to Webhook sur une anomalie. Toujours disponible tant que la connexion est On. |
issue.created | Un testeur signale une nouvelle anomalie. Uniquement avec Send automatically réglé sur chaque nouvelle anomalie. |
issue.status_changed | Le statut d'une anomalie change, par exemple vers Ready for retest ou Closed. Uniquement avec Send automatically. Contient from et to. |
test | Vous cliquez sur Test connection. |
Une anomalie fusionnée dans une autre comme doublon n'envoie pas de nouveau issue.created.
Ce qu'il envoie
Un POST avec Content-Type: application/json. Tous les événements d'anomalie ont la même forme :
{
"event": "issue.status_changed",
"project": { "id": "6b1f…", "name": "CRM UAT" },
"issue": {
"id": "a41c…",
"key": "ISS-012",
"title": "Save button greyed out",
"description": "After changing the phone number, Save stays grey.",
"severity": "High",
"priority": "High",
"status": "Ready for retest",
"assignee": "Dev team",
"ticket": "PORTAL-41",
"ticket_url": "https://acme.atlassian.net/browse/PORTAL-41"
},
"test_case": { "num": 4, "title": "Edit a contact", "step": 3 },
"reported_by": "Tess Tester",
"from": "In progress",
"to": "Ready for retest",
"url": "https://app.uat.studio/p/6b1f…/issues"
}
| Champ | Signification |
|---|---|
event | issue.sent, issue.created, issue.status_changed ou test. |
project | Le projet d'UAT : id et nom. |
issue.key | Le numéro dans UAT Studio, par exemple ISS-012. Utilisez issue.id pour reconnaître la même anomalie dans les messages suivants. |
issue.severity | Critical, High, Medium ou Low. issue.priority : High, Medium ou Low. |
issue.status | Le statut dans UAT Studio : New, In progress, Ready for retest, Closed ou Rejected. |
issue.ticket | Le ticket Jira ou Azure DevOps lié, s'il existe ; sinon null. |
test_case | Le test et le numéro d'étape où l'anomalie a été trouvée ; null pour une anomalie hors test. Avec issue.sent, également l'action et le résultat expected de l'étape. |
reported_by | Le nom du testeur qui l'a trouvée. |
from, to | Uniquement avec issue.status_changed : l'ancien et le nouveau statut. |
url | Les anomalies du projet dans UAT Studio. L'ouverture nécessite une connexion. |
Les champs peuvent être null et nous pourrons ajouter des champs plus tard : faites donc ignorer par votre flux ce qu'il ne connaît pas. Les captures d'écran et les fichiers ne sont jamais envoyés ; ils restent dans UAT Studio.
Construire la partie réceptrice
Power Automate
- Créez un Instant cloud flow avec le déclencheur When an HTTP request is received, pour Anyone.
- Sous Request Body JSON Schema, cliquez sur Use sample payload to generate schema et collez l'exemple ci-dessus.
- Ajoutez une Condition sur
event(par exemple : n'est pas égal àtest), puis les actions souhaitées : une tâche Planner, une ligne dans Excel, un email, un élément dans SharePoint. - Enregistrez le flux. Le déclencheur affiche maintenant l'HTTP URL : c'est l'adresse du webhook.
Remarque : le déclencheur HTTP est un connecteur premium dans Power Automate. Pour publier dans un canal Teams, vous n'en avez pas besoin : utilisez la connexion Microsoft Teams.
Zapier
Créez un Zap avec le déclencheur Webhooks by Zapier › Catch Hook, copiez l'adresse, cliquez sur Test connection dans UAT Studio puis envoyez une anomalie, pour que Zapier apprenne les champs. Ajoutez ensuite l'action souhaitée, par exemple un message dans Slack.
Make
Démarrez un scénario avec Webhooks › Custom webhook, copiez l'adresse et cliquez sur Redetermine data structure avant d'envoyer une anomalie depuis UAT Studio.
Votre propre service
Acceptez un POST avec du JSON, comparez l'en-tête Authorization à votre secret, répondez 200 rapidement et faites le travail lent ensuite. Les messages ne sont pas renvoyés après un échec : journalisez donc ce que vous recevez.
En cas de problème
| Vous voyez | Que faire |
|---|---|
| The webhook answered 401 or 403 | Votre flux refuse le message : vérifiez le secret des deux côtés, ou que le flux peut être appelé par n'importe qui. |
| The webhook answered 404 | L'adresse est erronée, ou le flux a été supprimé ou désactivé. Copiez à nouveau l'adresse. |
| The webhook answered 400 or 500 | Votre flux n'accepte pas le message. Souvent, il ne gère pas l'événement test, ou un champ qui vaut null. Consultez l'historique d'exécution du flux. |
| Rien n'arrive pour les nouvelles anomalies | Vérifiez que Send automatically est réglé sur chaque nouvelle anomalie et que la connexion est sur On. Envoyez ensuite une anomalie manuellement pour voir la réponse de votre flux. |
| Pas de bouton Send to Webhook | Seuls les administrateurs le voient, et uniquement quand la connexion est sur On. |
| Les connexions ne font pas partie de votre formule | Les connexions sont incluses dans Team, Business, Partner et Enterprise, et disponibles en module pour Project. Votre administrateur peut changer de formule sous Plan & billing. |
Toujours bloqué ? Écrivez à [email protected] avec le message que vous voyez. Ne nous envoyez jamais le secret lui-même.
Ce qui sort d'UAT Studio
- Les messages sont envoyés uniquement via HTTPS.
- Ils contiennent le texte de l'anomalie, le test et le nom du testeur, jamais de fichiers ni de captures d'écran. Envoyez-les uniquement à un service auquel votre organisation confie ces informations.
- Le secret est stocké chiffré (AES-256), la clé étant conservée à part de la base de données. Personne ne peut le relire.
- Passez la connexion sur Off ou supprimez-la, et plus rien n'est envoyé.
