Récupérer les Résultats de Axe Watcher avec axe-watcher-results

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Utilisez axe-watcher-results pour extraire les résultats d'une analyse complète de Axe Watcher dans un pipeline CI et bloquez la construction en fonction de votre seuil d'accessibilité

Not for use with personal data

axe-watcher-results récupère les résultats d'une analyse complète de Axe Watcher depuis le Axe Developer Hub et les transforme en un signal de réussite/échec pour un pipeline CI.

note

axe-watcher-results n'exécute pas d'analyses d'accessibilité. Axe Watcher s'en charge dans votre suite de tests. Il ne récupère que les résultats une fois l'analyse terminée, vous devez donc l'exécuter comme une étape distincte et ultérieure dans votre pipeline. Consultez Utiliser Axe Watcher dans des Environnements d'Intégration Continue (CI) pour savoir comment Axe Watcher lui-même fonctionne dans un environnement CI.

Pré-requis

Avant d'exécuter axe-watcher-results, vous avez besoin de :

  • Un Clé API Axe Developer Hub (un UUID).
  • Le ID de projet pour le projet Axe Developer Hub auquel l'analyse a été envoyée (un UUID).
  • Une analyse complète de Axe Watcher pour le commit que vous souhaitez vérifier.

Installation

axe-watcher-results est distribué sous forme de binaire autonome pour Linux, macOS et Windows. Téléchargez le binaire pour votre plateforme depuis la page Téléchargements (l'accès nécessite un droit axe DevTools pour le Web), puis suivez Préparation des Binaries après Téléchargement pour le rendre exécutable et, sur macOS, pour effacer l'attribut de quarantaine.

note

Les binaires macOS et Windows ne sont pas signés et peuvent être bloqués par les contrôles de sécurité de votre système d'exploitation jusqu'à ce que vous les autorisiez à s'exécuter.

Placez le binaire sur votre PATH (ou référencez-le par son chemin) afin de pouvoir l'exécuter en tant que axe-watcher-results.

Authentification

axe-watcher-results lit votre clé API Axe Developer Hub depuis la variable d'environnement AXE_DEVHUB_API_KEY. Réglez-la une fois avant d'exécuter une commande : dans votre shell pour une utilisation locale, ou dans le magasin de secrets de votre système CI pour un pipeline :

export AXE_DEVHUB_API_KEY=<your-api-key>

Les exemples ci-dessous supposent que cette variable est définie.

Consulter les Résultats pour un Commit (Blocage CI)

Exécutez axe-watcher-results sessions get avec votre ID de projet et un SHA de commit Git :

axe-watcher-results sessions get <project-id> <commit-sha>
  • <project-id> : l'UUID du projet.
  • <commit-sha> : un SHA de commit Git de 7 à 40 caractères qui a déjà une analyse complète de Axe Watcher.

Il s'agit de la consultation qui bloque une construction : si le nombre de problèmes du run dépasse le seuil d'accessibilité de votre projet, axe-watcher-results se termine avec le code 10 (voir Codes de Sortie). Par exemple, avec --format=json :

{
  "project": "your-project-name",
  "project-id": "7347af86-ff4e-4e14-8957-8fc2255ed4ec",
  "commit-sha": "e220798b6558cdfc7c3e592378be67e1e78e7377",
  "run-url": "https://axe.deque.com/axe-watcher/projects/7347af86-ff4e-4e14-8957-8fc2255ed4ec/branches/main/compare/0d4a85a2-9e6f-44ef-b814-fee8412abeb0/0d4a85a2-9e6f-44ef-b814-fee8412abeb0?settings_hash=0757ca72c5e10951ddbb2ede4edab06e&issues_over_a11y_threshold=2",
  "issues": 17,
  "new-issues": 17,
  "resolved-issues": 0,
  "issues-over-a11y-threshold": 2,
  "page-states": 2,
  "difference-in-page-states": 0,
  "created-at": "2026-07-07T18:13:00.641Z",
  "message": "Run exceeded the a11y threshold by 2."
}
Champ Description
project Nom du projet.
project-id UUID du projet.
commit-sha Le SHA du commit que vous avez consulté.
run-url Lien vers le run dans le Axe Developer Hub.
issues Nombre total de problèmes pour le run.
new-issues Problèmes non présents dans la ligne de base de comparaison.
resolved-issues Problèmes présents dans la ligne de base mais pas dans ce run.
issues-over-a11y-threshold Nombre de problèmes au-dessus du seuil d'accessibilité de votre projet ; c'est ce qui détermine le code de sortie 10.
page-states Nombre d'états de page analysés.
difference-in-page-states Changement dans le nombre d'états de page par rapport à la ligne de base.
created-at Horodatage où le run a été enregistré.
message Présent uniquement lorsque le seuil a été dépassé.

Si vous analysez la sortie dans un script, utilisez --format=json : les noms de champs ci-dessus sont stables. La sortie par défaut --format=text est destinée aux humains lisant les journaux de construction, pas pour analyse.

Consulter les Résultats pour une Session

Vous pouvez également consulter une analyse spécifique par son ID de session au lieu d'un SHA de commit :

axe-watcher-results sessions get <project-id> <session-id>

<session-id> est un UUID de session. axe-watcher-results distingue un ID de session d'un SHA de commit par sa forme (un UUID contre une chaîne hexadécimale de 7 à 40 caractères), vous le passez donc dans la même position. L'argument <project-id> est toujours nécessaire et validé, même si une consultation de session résout son projet depuis la session et la clé API plutôt que depuis l'argument.

Utilisez --detail=summary (par défaut) pour obtenir le dénombrement des problèmes par gravité et règle, ou --detail=full pour obtenir le document de résultats complet en tant que JSON brut (cela ignore --format).

--format=json --detail=summary ressemble à ceci :

{
  "report_id": "14c16b50-a6ce-46ab-9974-0ad3b94eafde",
  "source": {
    "product_name": "axe-devtools-html",
    "product_component_name": "axe-devtools-watcher",
    "product_version": "4.0.0"
  },
  "test_details": {
    "test_id": "0d4a85a2-9e6f-44ef-b814-fee8412abeb0",
    "start_date": "2026-07-07T18:13:00.641Z",
    "end_date": "2026-07-07T18:13:05.472Z"
  },
  "commit": {
    "sha": "e220798b6558cdfc7c3e592378be67e1e78e7377",
    "author": "Jane Doe",
    "author_email": "jane@example.com",
    "message": "fix: correct login form labels",
    "branch_name": "main",
    "tag": "",
    "repository_url": "https://github.com/your-org/your-repo"
  },
  "devhub_summary": {
    "issue_count_total": 17,
    "issue_count_by_impact": {
      "critical": 0,
      "serious": 2,
      "moderate": 15,
      "minor": 0
    },
    "issue_count_by_rule": [
      {
        "severity": "serious",
        "rule_id": "color-contrast",
        "rule_help": "Elements must meet minimum color contrast ratio thresholds",
        "rule_help_url": "https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=axeAPI",
        "count": 2
      }
    ]
  }
}
Champ Description
report_id ID unique pour ce rapport de résultats.
source Le produit et la version de Axe Watcher qui ont produit l'analyse.
test_details.test_id L'ID de session que vous avez consulté.
test_details.start_date / end_date Quand l'analyse a été effectuée.
commit Métadonnées de validation Git, si disponibles ; sinon omises.
devhub_summary.issue_count_total Nombre total de problèmes pour la session.
devhub_summary.issue_count_by_impact Nombre de problèmes répartis par critical, serious, moderate et minor.
devhub_summary.issue_count_by_rule Une entrée par règle violée, avec la gravité, une URL d'aide et un nombre.
important

Une recherche de session ne vérifie pas le seuil d'accessibilité et ne sort jamais avec le code 10. Utilisez une recherche de commit-SHA, et non une recherche d'ID de session, pour valider une construction CI.

Si l'analyse est encore en cours de traitement, axe-watcher-results interroge le serveur (jusqu'à 5 minutes) et écrit l'avancement sur stderr ; si l'analyse ne se termine pas à temps, elle se termine avec le code 11.

Lister les sessions pour un projet

La sous-commande sessions list liste les sessions d'analyse enregistrées pour un projet, ce qui est utile pour trouver un ID de session à consulter :

axe-watcher-results sessions list <project-id>

Filtrez les résultats avec --git-branch, --commit-sha, --git-url, --created-after/--created-before (timestamps ISO-8601), --created-by-user-email, et --is-canonical-source. Utilisez --page-size (1-100) et --after pour parcourir les résultats. sessions list accepte également --format, --network-timeout-seconds et --verbose/-v, qui se comportent de la même manière pour sessions get.

Options

Ces options s'appliquent à la commande sessions get (recherches de commit-SHA et ID de session) :

Option Variable d'environnement Par défaut Description
--format=text|json text Format de sortie.
--detail=summary|full summary Détail des résultats pour les recherches d'ID de session. Ignoré pour les recherches de commit-SHA.
--network-timeout-seconds=<n> AXE_WATCHER_RESULTS_NETWORK_TIMEOUT_SECONDS 30 Délai d'attente HTTP par requête, en secondes.
AXE_SERVER_URL https://axe.deque.com Remplacez l'URL du serveur Axe Developer Hub. Voir Spécifiez l'URL du serveur Axe Developer Hub si votre organisation utilise un serveur régional, privé en cloud ou sur site.
--verbose, -v Enregistrez l'URL de la requête et le statut de la réponse sur stderr.

--version (sur la commande axe-watcher-results principale) imprime la version axe-watcher-results et sort ; --help est disponible sur toutes les commandes.

La sortie va sur stdout en texte clair ou JSON ; les messages de progression et d'erreur vont sur stderr, afin que vous puissiez capturer stdout pour les journaux de construction sans analyse supplémentaire.

Exemple de validation CI

Exécutez axe-watcher-results comme une étape après que votre analyse Axe Watcher soit terminée, en utilisant un SHA de validation afin que le code de sortie reflète le seuil d'accessibilité :

# AXE_DEVHUB_API_KEY is provided by your CI system's secret store
axe-watcher-results sessions get --format=json "$PROJECT_ID" "$GIT_COMMIT_SHA"

Un code de sortie non nul échoue à l'étape appelante. Voir Codes de sortie pour savoir ce que signifie chaque code et comment y répondre.

tip

Si vous intégrez spécifiquement avec GitHub Actions, le Action GitHub Axe Developer Hub offre un comportement de validation similaire sans nécessiter un binaire séparé. Utilisez axe-watcher-results lorsque vous avez besoin d'une validation indépendante du fournisseur pour GitLab CI, CircleCI, Jenkins ou un autre système CI.

Codes de sortie

Code Signification
0 Succès.
1 Erreur générale (par exemple, un échec lors de l'écriture de la sortie).
2 Un argument ou une variable d'environnement requis(e) est manquant(e).
3 Le format ou la valeur d'un argument est invalide.
9 Axe Developer Hub a retourné une erreur.
10 Le seuil d'accessibilité a été dépassé (recherches de commit-SHA uniquement).
11 Le sondage de session a expiré.
12 Aucune donnée de comparaison n'est disponible pour ce commit.

Récupération de l'erreur 12

L'erreur 12 signifie que le commit a des résultats d'analyse, mais Axe Developer Hub n'a rien à comparer. Axe Developer Hub sélectionne une référence dans cet ordre :

  1. Une session antérieure sur le même SHA de commit.
  2. La session la plus récente sur un SHA différent dans la même branche.
  3. La session actuelle elle-même, mais uniquement si la session est canonique (voir Utiliser Axe Watcher dans des environnements d'intégration continue (CI)).

Si aucune de ces options n'est disponible et que la session n'est pas canonique, Axe Developer Hub renvoie un 404 et axe-watcher-results se termine avec le code 12. Pour récupérer :

  • Rerunnez l'analyse Axe Watcher avec CI=true activé, afin que la session devienne canonique et se compare elle-même au démarrage à froid.
  • Effectuez une analyse supplémentaire, sur ce commit ou un commit antérieur dans la même branche, pour créer une référence.