Fournir des métadonnées Git

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

Contrôler comment Axe Watcher collecte les informations Git pour vos exécutions de tests

Not for use with personal data

Axe Watcher lie les résultats d'accessibilité au commit Git testé, vous permettant de suivre les problèmes à travers les branches et les constructions dans Axe Developer Hub. Par défaut, Watcher collecte ces informations automatiquement en utilisant le binaire Git local. Vous pouvez également désactiver complètement la collecte ou fournir vous-même les métadonnées.

Collecte automatique (par défaut)

Lorsque aucune configuration git n'est fournie, Watcher détecte automatiquement la branche actuelle, le SHA du commit, l'auteur et d'autres champs Git à partir du dépôt local. Aucune configuration supplémentaire n'est requise.

Si c'est la première session réussie du projet, le dépôt détecté automatiquement devient le dépôt verrouillé du projet. Les exécutions ultérieures contre un autre dépôt sont rejetées. Voir Exécution rejetée : la forme des données ou le dépôt ne correspond pas au projet.

Désactivation de la collecte Git

Si votre environnement ne dispose pas d'un binaire Git ou si vous ne souhaitez pas que les données Git soient associées à une exécution de test, vous pouvez désactiver complètement la collecte.

important

Si le projet est déjà verrouillé sur Git, désactiver la collecte ne produit plus de session sans Git : l'exécution est rejetée à la place. Envoyez les exécutions sans Git à un projet séparé verrouillé sans Git.

(JavaScript/TypeScript) Définissez la propriété git sur false dans votre AxeConfiguration :

axe: {
  apiKey: process.env.AXE_DEVELOPER_HUB_API_KEY,
  projectId: process.env.AXE_DEVELOPER_HUB_PROJECT_ID,
  git: false
}

(Java) Appelez setGit(false) sur votre AxeWatcherOptions :

AxeWatcherOptions options = new AxeWatcherOptions()
    .setApiKey(System.getenv("AXE_DEVELOPER_HUB_API_KEY"))
    .setProjectId(System.getenv("AXE_DEVELOPER_HUB_PROJECT_ID"))
    .setGit(false);

Fournir des métadonnées explicites

Certaines configurations CI exécutent les tests dans un dépôt QA dédié, distinct du dépôt sous test. Dans ces cas, la détection automatique collecterait des métadonnées du dépôt QA plutôt que du dépôt de code, produisant des résultats trompeurs dans Axe Developer Hub. Vous devez fournir les métadonnées correctes explicitement.

Les métadonnées explicites sont également utiles lorsque la détection automatique est peu fiable, par exemple, dans les clones superficiels ou lorsque le dépôt est dans un état HEAD détaché.

note

Lorsqu'un métadonnée explicite est fournie, la détection automatique est complètement omise pour cette exécution de test. Tout champ que vous omettez est transmis comme null.

Les champs suivants sont disponibles.

branch, commitSha, et url sont les champs gitful. Si le projet n'est pas encore verrouillé sur une forme de données, une session soumise sans les trois est enregistrée comme Gitless, et le projet se verrouille sur Gitless à l'avenir. Une fois qu'un projet est verrouillé sur Git, une session manquant l'un des trois est rejetée lors de l'ingestion : les résultats ne sont pas sauvegardés. Consultez Exécution refusée : la forme des données ou le dépôt ne correspond pas au projet pour le message de rejet et comment le résoudre. Les autres champs sont facultatifs.

Champ (JavaScript/TypeScript) Méthode (Java) Gitful Description
branch setBranch() oui Nom de la branche courante
commitAuthor setCommitAuthor() non Nom affiché de l'auteur. Si omis, l'auteur apparaît comme indisponible dans Axe Developer Hub.
commitEmail setCommitEmail() non Adresse e-mail de l'auteur.
commitMessage setCommitMessage() non Message de commit complet. Si omis, le message de commit apparaît comme indisponible dans Axe Developer Hub.
commitSha setCommitSha() oui Hash du commit complet ou abrégé
defaultBranch setDefaultBranch() non Nom de la branche par défaut (par exemple main). Sans ce champ, Axe Developer Hub ne peut pas identifier quelle branche est la branche par défaut, donc les comparaisons de branches de fonctionnalités avec la branche par défaut ne seront pas disponibles.
isDirty setIsDirty() non true s'il y a des modifications non validées
tag setTag() non Tag actuel (par exemple v1.2.3)
url setUrl() oui URL distante du dépôt

(JavaScript/TypeScript) Passez un objet GitConfig à la propriété git dans votre AxeConfiguration. Les noms spécifiques des variables d'environnement dépendent de votre plateforme CI :

axe: {
  apiKey: process.env.AXE_DEVELOPER_HUB_API_KEY,
  projectId: process.env.AXE_DEVELOPER_HUB_PROJECT_ID,
  git: {
    commitSha: process.env.GIT_COMMIT,
    branch: process.env.GIT_BRANCH,
    url: process.env.GIT_URL,
    commitAuthor: process.env.GIT_AUTHOR_NAME,
    commitEmail: process.env.GIT_AUTHOR_EMAIL,
    commitMessage: process.env.GIT_COMMIT_MESSAGE,
    defaultBranch: 'main'
  }
}

(Java) Créez une instance AxeWatcherGitInfo et passez-la à setGitInfo() sur votre AxeWatcherOptions :

AxeWatcherOptions options = new AxeWatcherOptions()
    .setApiKey(System.getenv("AXE_DEVELOPER_HUB_API_KEY"))
    .setProjectId(System.getenv("AXE_DEVELOPER_HUB_PROJECT_ID"))
    .setGitInfo(new AxeWatcherGitInfo()
        .setCommitSha(System.getenv("GIT_COMMIT"))
        .setBranch(System.getenv("GIT_BRANCH"))
        .setUrl(System.getenv("GIT_URL"))
        .setCommitAuthor(System.getenv("GIT_AUTHOR_NAME"))
        .setCommitEmail(System.getenv("GIT_AUTHOR_EMAIL"))
        .setCommitMessage(System.getenv("GIT_COMMIT_MESSAGE"))
        .setDefaultBranch("main"));

Exécution rejetée : la forme des données ou le dépôt ne correspond pas au projet

Une fois qu'un projet a ingéré sa première session réussie, sa forme de données (Git ou sans Git) et, pour les projets Git, son dépôt, sont verrouillés. Une exécution qui ne correspond pas au verrou est rejetée à l'ingestion, et les résultats ne sont pas enregistrés.

Causes courantes :

  • Un deuxième dépôt ou suite de tests est dirigé vers le même projet. Envoyez-le à son propre projet au lieu de celui déjà lié à un dépôt différent.
  • Un clone superficiel, un état HEAD détaché ou un origin distant manquant enlève l'URL du dépôt, la branche ou le SHA du commit, rendant une exécution Git semblable à une exécution sans Git. Voir Axe Watcher dans les environnements d'intégration continue (CI) pour des conseils spécifiques à CI.
  • La collecte de données Git a été désactivée sur un projet déjà verrouillé sur Git. Envoyer une exécution avec git: false ne convertit plus le projet en sans Git ; l'exécution est rejetée. Envoyez les exécutions sans Git à un projet distinct, verrouillé sans Git, à la place.

Voir Exécution rejetée dans le dépannage pour le message de rejet exact.

Voir aussi