Fornire Metadati Git
Controlla come Axe Watcher raccoglie le informazioni Git per le tue esecuzioni di test
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.
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).
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
originremoto 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: falsenon 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
- (JavaScript/TypeScript)
AxeConfiguration.git - (Java)
AxeWatcherOptions.setGitInfo() - (Java)
AxeWatcherGitInfo - Utilizza Axe Watcher in ambienti di Continuous Integration (CI)
