Fornecendo Metadados Git
Controle como o Axe Watcher coleta informações do Git para suas execuções de teste
O Axe Watcher vincula os resultados de acessibilidade ao commit Git que foi testado, permitindo que você rastreie problemas entre branches e builds no Axe Developer Hub. Por padrão, o Watcher coleta essas informações automaticamente usando o binário local do Git. Você também pode desativar a coleta completamente ou fornecer os metadados você mesmo.
Coleta Automática (Padrão)
Quando nenhuma configuração de git é fornecida, o Watcher detecta automaticamente o ramo atual, o SHA do commit, o autor e outros campos do Git a partir do repositório local. Nenhuma configuração adicional é necessária.
Desativando a Coleta do Git
Se o seu ambiente não possui o binário do Git, ou se você não deseja que os dados do Git sejam associados a uma execução de teste, você pode desativar a coleta completamente.
(JavaScript/TypeScript) Defina a propriedade git para false no seu AxeConfiguration:
axe: {
apiKey: process.env.AXE_DEVELOPER_HUB_API_KEY,
projectId: process.env.AXE_DEVELOPER_HUB_PROJECT_ID,
git: false
}(Java) Chame setGit(false) no seu AxeWatcherOptions:
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey(System.getenv("AXE_DEVELOPER_HUB_API_KEY"))
.setProjectId(System.getenv("AXE_DEVELOPER_HUB_PROJECT_ID"))
.setGit(false);Fornecendo Metadados Explícitos
Algumas configurações de CI executam testes em um repositório de QA dedicado que é separado do repositório sob teste. Nesses casos, a detecção automática recolheria metadados do repositório de QA em vez do repositório de código, produzindo resultados enganosos no Axe Developer Hub. Você precisa fornecer os metadados corretos explicitamente.
Metadados explícitos também são úteis quando a detecção automática é pouco confiável, por exemplo, em clones superficiais ou quando o repositório está em um estado de HEAD destacado.
Quando os metadados explícitos são fornecidos, a detecção automática é completamente ignorada para essa execução de teste. Qualquer campo que você omitir será transmitido como null.
Os seguintes campos estão disponíveis. branch, commitSha e url são os campos repletos de git: uma sessão enviada sem todos os três é registrada como gitless e salva, mas o Axe Developer Hub muda para a visualização da sessão sem git, onde o histórico de ramo e commit de sessões anteriores não estará visível. Enviar uma sessão subsequente com todos os três campos restaura a visualização completa de git. Se apenas um ou dois dos três campos estiverem presentes, o Axe Watcher descarta todos os campos completos de git, registra a sessão como sem git e inclui um aviso na resposta. Os campos restantes são opcionais.
| Campo (JavaScript/TypeScript) | Método (Java) | Gitful | Descrição |
|---|---|---|---|
branch |
setBranch() |
sim | Nome da branch atual |
commitAuthor |
setCommitAuthor() |
não | Nome de exibição do autor. Se omitido, o autor aparece como indisponível no Axe Developer Hub. |
commitEmail |
setCommitEmail() |
não | Endereço de e-mail do autor. |
commitMessage |
setCommitMessage() |
não | Mensagem completa do commit. Se omitida, a mensagem do commit aparece como indisponível no Axe Developer Hub. |
commitSha |
setCommitSha() |
sim | Hash completo ou abreviado do commit |
defaultBranch |
setDefaultBranch() |
não | Nome padrão do ramo (por exemplo, main). Sem este campo, o Axe Developer Hub não pode identificar qual ramo é o padrão, portanto, comparações de branches de recursos contra o ramo padrão não estarão disponíveis. |
isDirty |
setIsDirty() |
não | true se houver alterações não confirmadas |
tag |
setTag() |
não | Tag atual (por exemplo, v1.2.3) |
url |
setUrl() |
sim | URL remoto do repositório |
(JavaScript/TypeScript) Passe um objeto GitConfig para a propriedade git no seu AxeConfiguration. Os nomes específicos das variáveis de ambiente dependem da sua plataforma de 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) Crie uma instância de AxeWatcherGitInfo e passe-a para setGitInfo() no seu 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"));Veja Também
- (JavaScript/TypeScript)
AxeConfiguration.git - (Java)
AxeWatcherOptions.setGitInfo() - (Java)
AxeWatcherGitInfo - Use o Axe Watcher em Ambientes de Integração Contínua (CI)
