Git-Metadaten bereitstellen

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

Steuern Sie, wie Axe Watcher Git-Informationen für Ihre Testläufe sammelt

Not for use with personal data

Axe Watcher verknüpft Barrierefreiheitsergebnisse mit dem getesteten Git-Commit und ermöglicht es Ihnen, Probleme über Branches und Builds im Axe Developer Hub nachzuverfolgen. Standardmäßig sammelt Watcher diese Informationen automatisch über das lokale Git-Binary. Sie können die Sammlung auch vollständig deaktivieren oder die Metadaten selbst bereitstellen.

Automatische Sammlung (Standard)

Wenn keine git-Konfiguration bereitgestellt wird, erkennt Watcher automatisch den aktuellen Branch, die Commit-SHA, den Autor und andere Git-Felder aus dem lokalen Repository. Es ist keine zusätzliche Konfiguration erforderlich.

Wenn dies die erste erfolgreiche Sitzung des Projekts ist, wird das automatisch erkannte Repository zum gesperrten Repository des Projekts. Spätere Läufe gegen ein anderes Repository werden abgelehnt. Siehe Lauf abgelehnt: Datenstruktur oder Repository stimmt nicht mit dem Projekt überein.

Deaktivierung der Git-Sammlung

Wenn in Ihrer Umgebung kein Git-Binary vorhanden ist oder wenn Sie keine Git-Daten mit einem Testlauf verknüpfen möchten, können Sie die Sammlung vollständig deaktivieren.

important

Wenn das Projekt bereits auf Git festgelegt ist, führt das Deaktivieren der Sammlung nicht mehr zu einer Gitless-Sitzung: Der Lauf wird stattdessen abgelehnt. Senden Sie Gitless-Läufe an ein separates, Gitless-gesperrtes Projekt.

(JavaScript/TypeScript) Setzen Sie die git-Eigenschaft auf false in Ihrem AxeConfiguration:

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

(Java) Rufen Sie setGit(false) auf Ihrem AxeWatcherOptions auf:

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

Bereitstellung expliziter Metadaten

Einige CI-Einrichtungen führen Tests in einem speziellen QA-Repository durch, das vom getesteten Repository getrennt ist. In diesen Fällen würde die automatische Erkennung Metadaten aus dem QA-Repository anstatt aus dem Code-Repository sammeln, was zu irreführenden Ergebnissen im Axe Developer Hub führt. Sie müssen die korrekten Metadaten explizit bereitstellen.

Explizite Metadaten sind auch nützlich, wenn die automatische Erkennung unzuverlässig ist, beispielsweise bei flachen Klonen oder wenn sich das Repository in einem separaten HEAD-Zustand befindet.

note

Wenn explizite Metadaten bereitgestellt werden, wird die automatische Erkennung für diesen Testlauf vollständig übersprungen. Jedes Feld, das Sie weglassen, wird als null übertragen.

Die folgenden Felder sind verfügbar.

branch, commitSha und url sind die gitvollen Felder. Falls das Projekt noch nicht auf eine Datenstruktur festgelegt ist, wird eine Sitzung ohne alle drei als Gitless protokolliert und das Projekt wird fortan auf Gitless festgelegt. Sobald ein Projekt auf Git festgelegt ist, wird eine Sitzung, der eines der drei fehlt, stattdessen bei der Aufnahme abgelehnt: Die Ergebnisse werden nicht gespeichert. Sehen Sie Durchlauf abgelehnt: Datenstruktur oder Repository stimmt nicht mit dem Projekt überein für die Ablehnungsnachricht und wie diese zu beheben ist. Die restlichen Felder sind optional.

Feld (JavaScript/TypeScript) Methode (Java) Vollständiges Git Beschreibung
branch setBranch() ja Aktueller Branch-Name
commitAuthor setCommitAuthor() nein Anzeigename des Autors. Wenn weggelassen, erscheint der Autor im Axe Developer Hub als nicht verfügbar.
commitEmail setCommitEmail() nein E-Mail-Adresse des Autors.
commitMessage setCommitMessage() nein Volle Commit-Nachricht. Wenn weggelassen, erscheint die Commit-Nachricht im Axe Developer Hub als nicht verfügbar.
commitSha setCommitSha() ja Vollständiger oder abgekürzter Commit-Hash
defaultBranch setDefaultBranch() nein Standard-Zweigname (z. B. main). Ohne dieses Feld kann Axe Developer Hub nicht identifizieren, welcher Zweig der Standardzweig ist, sodass Vergleiche von Feature-Zweigen mit dem Standardzweig nicht verfügbar sein werden.
isDirty setIsDirty() nein true, wenn es ungespeicherte Änderungen gibt
tag setTag() nein Aktuelles Tag (z. B. v1.2.3)
url setUrl() ja Remote-URL des Repositories

(JavaScript/TypeScript) Übergeben Sie ein GitConfig-Objekt an die git-Eigenschaft in Ihrem AxeConfiguration. Die spezifischen Namen der Umgebungsvariablen hängen von Ihrer CI-Plattform ab:

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) Erstellen Sie eine AxeWatcherGitInfo-Instanz und übergeben Sie sie an setGitInfo() auf Ihrem 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"));

Lauf abgelehnt: Datenstruktur oder Repository stimmt nicht mit dem Projekt überein

Sobald ein Projekt seine erste erfolgreiche Sitzung aufgenommen hat, werden seine Datenstruktur (Git oder Gitless) und, für Git-Projekte, sein Repository gesperrt. Ein Lauf, der nicht mit der Sperre übereinstimmt, wird bei der Aufnahme abgelehnt und die Ergebnisse werden nicht gespeichert.

Häufige Ursachen:

  • Ein zweites Repository oder ein Testsuite zeigt auf dasselbe Projekt. Senden Sie es stattdessen an sein eigenes Projekt, anstatt an das, das bereits an ein anderes Repository gebunden ist.
  • Ein flacher Klon, ein losgelöster HEAD-Zustand oder ein fehlender origin Remote entfernt die Repository-URL, den Branch oder den Commit-SHA und lässt einen Git-Lauf Git-los erscheinen. Siehe Axe Watcher in Continuous Integration (CI)-Umgebungen für CI-spezifische Anleitungen.
  • Die Git-Datensammlung wurde in einem Projekt deaktiviert, das bereits an Git gebunden ist. Das Senden eines Laufs mit git: false konvertiert das Projekt nicht mehr zu Git-los; der Lauf wird abgelehnt. Senden Sie Git-lose Läufe stattdessen an ein separates, ausschließlich Git-los gesperrtes Projekt.

Siehe Lauf abgelehnt in der Fehlerbehebung für die genaue Fehlermeldung der Ablehnung.

Siehe auch