Fornecendo Metadados 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

Controle como o Axe Watcher coleta informações do Git para suas execuções de teste

Not for use with personal data

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.

note

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