Fornire Metadati 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

Controlla come Axe Watcher raccoglie le informazioni Git per le tue esecuzioni di test

Not for use with personal data

Axe Watcher collega i risultati dell'accessibilità al commit Git che è stato testato, permettendoti di tracciare i problemi attraverso rami e build nell'Axe Developer Hub. Per impostazione predefinita, Watcher raccoglie queste informazioni automaticamente utilizzando il binario Git locale. Puoi anche disabilitare completamente la raccolta o fornire tu stesso i metadati.

Raccolta Automatica (Predefinita)

Quando non viene fornita alcuna configurazione git, Watcher rileva automaticamente il branch corrente, l'SHA del commit, l'autore e altri campi Git dal repository locale. Non è richiesta alcuna configurazione aggiuntiva.

Se questa è la prima sessione di successo del progetto, il repository rilevato automaticamente diventa il repository bloccato del progetto. Esecuzioni successive contro un repository diverso vengono rifiutate. Vedi Esecuzione Rifiutata: Forma dei Dati o Repository non Corrisponde al Progetto.

Disabilitare la Raccolta Git

Se il tuo ambiente non dispone di un binario Git, o se non vuoi che i dati Git siano associati a un'esecuzione di test, puoi disabilitare completamente la raccolta.

important

Se il progetto è già bloccato su Git, la disabilitazione della raccolta non produce più una sessione senza Git: l'esecuzione viene rifiutata invece. Invia le esecuzioni senza Git a un progetto separato, bloccato senza Git.

(JavaScript/TypeScript) Imposta la proprietà git su false nel tuo AxeConfiguration:

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

(Java) Chiama setGit(false) sul tuo AxeWatcherOptions:

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

Fornire Metadati Espliciti

Alcune configurazioni CI eseguono test in un repository QA dedicato separato dal repository sotto test. In questi casi, l'auto-rilevamento raccoglierebbe i metadati dal repository QA anziché dal repository di codice, producendo risultati fuorvianti nell'Axe Developer Hub. Devi fornire esplicitamente i metadati corretti.

I metadati espliciti sono utili anche quando l'auto-rilevamento è inaffidabile, per esempio, in cloni superficiali o quando il repository è in uno stato staccato (detached HEAD).

note

Quando vengono fornite delle metadati esplicite, l'auto-rilevamento viene completamente saltato per quella esecuzione del test. Qualsiasi campo omesso viene trasmesso come null.

I seguenti campi sono disponibili.

branch, commitSha e url sono i campi gitful. Se il progetto non si è ancora bloccato su una forma di dati, una sessione inviata senza tutti e tre viene registrata come Gitless, e il progetto si blocca su Gitless in futuro. Una volta che un progetto è bloccato su Git, una sessione che manca di uno qualsiasi dei tre viene rifiutata all'ingestione: i risultati non vengono salvati. Vedi Esecuzione rifiutata: Forma dei dati o repository non corrisponde al progetto per il messaggio di rifiuto e come risolverlo. I campi rimanenti sono opzionali.

Campo (JavaScript/TypeScript) Metodo (Java) Gitful Descrizione
branch setBranch() sì Nome del ramo corrente
commitAuthor setCommitAuthor() no Nome visualizzato dell'autore. Se omesso, l’autore appare come non disponibile in Axe Developer Hub.
commitEmail setCommitEmail() no Indirizzo email dell'autore.
commitMessage setCommitMessage() no Messaggio completo del commit. Se omesso, il messaggio del commit appare come non disponibile in Axe Developer Hub.
commitSha setCommitSha() sì Hash del commit completo o abbreviato
defaultBranch setDefaultBranch() no Nome del branch predefinito (es. main). Senza questo campo, Axe Developer Hub non può identificare quale branch sia quello predefinito, quindi i confronti dei feature-branch contro il branch predefinito non saranno disponibili.
isDirty setIsDirty() no true se ci sono modifiche non confermate
tag setTag() no Tag corrente (es. v1.2.3)
url setUrl() sì URL remoto del repository

(JavaScript/TypeScript) Passa un oggetto GitConfig alla proprietà git nel tuo AxeConfiguration. I nomi specifici delle variabili d'ambiente dipendono dalla tua piattaforma 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) Crea un'istanza AxeWatcherGitInfo e passala a setGitInfo() sul tuo 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"));

Esecuzione Rifiutata: Forma dei Dati o Repository non Corrisponde al Progetto

Una volta che un progetto ha assorbito la sua prima sessione di successo, la forma dei suoi dati (Git o senza Git) e, per i progetti Git, il suo repository, sono bloccati. Un'esecuzione che non corrisponde al blocco viene rifiutata all'ingestione e i risultati non sono salvati.

Cause comuni:

  • Un secondo repository o suite di test è indirizzato allo stesso progetto. Inviatelo al proprio progetto invece di quello già bloccato su un repository diverso.
  • Un clone superficiale, uno stato di HEAD staccato o un origin remoto mancante stanno eliminando l'URL del repository, il branch o lo SHA del commit, facendo sembrare una esecuzione Git come se fosse senza Git. Vedere Axe Watcher in ambienti di Integrazione Continua (CI) per una guida specifica ai CI.
  • La raccolta di dati Git è stata disabilitata su un progetto già bloccato su Git. Inviare una esecuzione con git: false non converte più il progetto in uno senza Git; l'esecuzione viene respinta. Inviare esecuzioni senza Git a un progetto separato, bloccato senza Git, invece.

Consulta Esecuzione Rifiutata nella sezione di risoluzione dei problemi per il messaggio di rifiuto esatto.

Vedi Anche