Vercel
Exécutez automatiquement le QA sur chaque déploiement de prévisualisation Vercel et rapportez le résultat comme un check de déploiement.
L'intégration Vercel surveille les déploiements de prévisualisation et de production via webhook. Quand un déploiement atteint l'état ready, Autonomy exécute le cas de test ou le plan de test configuré sur l'URL de prévisualisation et rapporte un check de réussite/échec directement sur le déploiement Vercel en utilisant l'API Checks v2.
Ce qu'elle fait
- Reçoit un webhook à chaque changement d'état de déploiement.
- Filtre par contexte de déploiement (preview, production ou branch) et par nom de branche.
- Exécute le cas de test ou le plan de test configuré sur l'URL de prévisualisation.
- Rapporte le résultat comme un check de déploiement Vercel Checks v2 visible dans le tableau de bord Vercel et sur la pull request GitHub.
- Bloque optionnellement la promotion du déploiement jusqu'à la fin du check (
blocks: deployment-promotion). - Prise en charge des nouvelles demandes de check — cliquer sur « Re-run » sur un check dans le tableau de bord Vercel déclenche une nouvelle exécution Autonomy via le webhook
deployment.check-rerequested. - Lorsqu'un dépôt GitHub est également lié, les résultats sont publiés à la fois sur le check Vercel et sur un check run GitHub sur le commit.
Configuration
Avant de commencer
- Un compte ou une équipe Vercel avec au moins un projet qui produit des déploiements de prévisualisation.
- Au moins un cas de test Autonomy qui réussit sur une cible web.
- Un environnement Autonomy avec une cible web (l'URL de base sera remplacée par l'URL de prévisualisation).
- L'intégration Vercel doit disposer du scope deployment-check pour créer et mettre à jour les checks.
- Pour Autonomy auto-hébergé : VERCEL_CLIENT_ID et VERCEL_CLIENT_SECRET configurés sur le backend Convex.
- Ouvrez Paramètres → Intégrations dans le tableau de bord Autonomy.
- Cliquez sur Connecter sur la carte Vercel. Vous êtes redirigé vers Vercel pour autoriser l'intégration.
- Sélectionnez l'équipe Vercel ou le compte personnel et accordez les permissions demandées. L'intégration nécessite le scope
deployment-check. - De retour dans Autonomy, cliquez sur Lier un projet. Autonomy liste les projets Vercel visibles pour votre compte connecté — choisissez celui que vous voulez tester. Une définition de check au niveau du projet est créée automatiquement au moment de la liaison.
- Choisissez un Cas de test ou un Plan de test comme cible d'exécution par défaut.
- Choisissez l'Environnement dont la configuration (navigateur, viewport, valeurs d'exécution) doit s'appliquer.
- Sous Contextes de déclenchement, sélectionnez quels types de déploiement démarrent une exécution — typiquement
preview. Ajoutez des Filtres de branche si vous souhaitez limiter les exécutions à certaines branches (motifs glob commemain,release/*). - Si vous souhaitez que les résultats soient rapportés dans Vercel, activez Rapporter les checks. Activez Bloquer la promotion du déploiement jusqu'à la fin du check pour maintenir la promotion du déploiement jusqu'à la fin du check.
- Ouvrez une pull request avec une modification de code et confirmez qu'une exécution démarre quand la prévisualisation Vercel est prête.
Comment une exécution est déclenchée
Quand Vercel envoie un webhook deployment.ready :
- Autonomy cherche le projet lié par l'ID du projet Vercel.
- Le contexte de déploiement (
preview,productionoubranch) est vérifié par rapport aux contextes de déclenchement du projet. - La branche de déploiement est vérifiée par rapport aux filtres de branche du projet.
- Si un cas de test ou plan de test par défaut est configuré, Autonomy crée une exécution ciblant l'URL de prévisualisation.
- L'exécution utilise la configuration de l'environnement lié pour le navigateur, le viewport et les valeurs d'exécution.
Prévisualisations protégées
Si Vercel Deployment Protection est activé, le runner ne peut pas atteindre l'URL de prévisualisation sans un contournement. Pour le configurer :
- Dans le tableau de bord Vercel, ouvrez Settings → Deployment Protection pour votre projet.
- Copiez le secret Protection Bypass for Automation (une valeur UUID-v4).
- Dans Autonomy, ouvrez les paramètres du projet lié et collez le secret dans Secret d'accès à la prévisualisation.
Autonomy envoie le secret sous forme d'en-tête x-vercel-protection-bypass et d'en-tête x-vercel-set-bypass-cookie sur chaque requête vers l'URL de prévisualisation de ce projet. Le secret ne quitte jamais le backend — le runner le reçoit sous forme d'injection d'en-tête opaque.
Rapport de statut
Vercel est le seul fournisseur de déploiement disposant d'une surface native de checks. Quand Rapporter les checks est activé :
- Une définition de check au niveau du projet est créée lorsque le projet est lié. Cette définition porte la politique de blocage et s'applique à tous les déploiements.
- Lorsqu'un déploiement atteint l'état
ready, un check run est créé par rapport à la définition, visible dans le tableau de bord Vercel sous l'onglet Checks du déploiement. - Quand toutes les exécutions sont terminées, le check est mis à jour vers
succeeded,failed,canceled,neutraloutimeout. - Le check renvoie vers l'espace de preuves Autonomy afin que les relecteurs puissent inspecter les captures d'écran, les traces et les résultats au niveau des étapes.
- Si l'application GitHub est également installée sur le dépôt, le même résultat apparaît sous forme de check run GitHub sur le commit.
Quand Bloquer la promotion du déploiement est activé, Vercel empêche le déploiement d'être promu en production jusqu'à ce que le check Autonomy se termine. Le check dispose d'un délai d'expiration de 15 minutes — si l'exécution ne se termine pas dans cette fenêtre, Vercel marque le check comme expiré (timed out).
Demande de nouvelle exécution du check (Check re-request)
Cliquer sur « Re-run » sur un check dans le tableau de bord Vercel envoie un webhook deployment.check-rerequested. Autonomy crée une nouvelle exécution par rapport au même déploiement, en utilisant la configuration actuelle du projet. Cela est utile pour réessayer un test instable ou réexécuter après un changement de configuration.
Monorepo et projets multiples
Un seul dépôt GitHub peut être lié à plusieurs projets Vercel. Autonomy lie chaque projet Vercel indépendamment — chacun obtient sa propre cible de test, son environnement, ses contextes de déclenchement et ses filtres de branche.
Quand Vercel envoie un webhook pour un déploiement monorepo, Autonomy l'associe au bon projet lié grâce à l'ID du projet Vercel, et non grâce au dépôt. Si vous avez trois projets Vercel (application web, site de documentation, panneau d'administration) dans un seul dépôt, vous pouvez lier les trois avec des plans de test différents.
Variables d'environnement (auto-hébergé)
| Variable | Required | Description |
|---|---|---|
| VERCEL_CLIENT_ID | Yes | ID client OAuth issu des paramètres de l'intégration Vercel. |
| VERCEL_CLIENT_SECRET | Yes | Secret client OAuth. Également utilisé comme secret de signature du webhook pour les événements du cycle de vie de l'intégration. |
| NEXT_PUBLIC_VERCEL_INTEGRATION_SLUG | Yes | Le slug de l'intégration, utilisé pour construire l'URL d'installation sur la Marketplace Vercel. |
Dépannage
Aucune exécution ne démarre lorsqu'une prévisualisation est déployée
Le déploiement doit atteindre l'état ready. Vérifiez les points suivants :
- Le compte Vercel est connecté et affiche Actif dans Autonomy.
- Le projet Vercel est lié. Autonomy ne surveille que les projets liés.
- Le projet est activé — un projet désactivé enregistre l'événement mais omet l'exécution (
project disabled). - Le contexte de déploiement (preview/production) est présent dans les contextes de déclenchement du projet. Sinon, l'événement est omis avec
context <x> not enabled. - La branche correspond aux filtres de branche du projet. Une non-correspondance omet l'événement avec
branch <x> filtered. - Un cas de test ou plan de test par défaut est sélectionné. Sans cela, l'événement est omis avec
no default test target. - L'URL de prévisualisation est présente dans la charge utile du webhook. Une URL manquante omet l'événement avec
no preview URL.
L'exécution ne peut pas atteindre la prévisualisation
L'URL de prévisualisation est bloquée par Vercel Deployment Protection. L'exécution échoue avec une page de protection si le secret de contournement est manquant ou expiré. Ajoutez ou rafraîchissez le Secret d'accès à la prévisualisation dans les paramètres du projet lié.
Le check Vercel affiche "neutral"
Une conclusion neutral signifie que l'exécution a été omise — typiquement en raison d'une limite de capacité ou de quota. Vérifiez le détail de l'événement dans Autonomy pour connaître le motif d'omission.
Le check Vercel affiche "timeout"
Le check a un délai d'expiration de 15 minutes. Si l'exécution Autonomy prend plus de 15 minutes pour se terminer, Vercel marque le check comme expiré (timed out). L'exécution peut toujours se terminer dans Autonomy, mais le check Vercel ne sera pas mis à jour.
Exécutions en double pour le même déploiement
Autonomy déduplique grâce à une clé incluant l'ID de déploiement Vercel et son état. Un webhook renvoyé ne produit pas de seconde exécution. Si vous voyez des doublons, confirmez que deux projets Vercel distincts ne sont pas tous deux liés à la même cible de test Autonomy.