Git-metadata verstrekken
Bepaal hoe Axe Watcher Git-informatie verzamelt voor uw testuitvoeringen
Axe Watcher koppelt toegankelijkheidsresultaten aan de geteste Git-commit, zodat u problemen kunt volgen over takken en builds heen in Axe Developer Hub. Standaard verzamelt Watcher deze informatie automatisch met behulp van de lokale Git-binary. U kunt de verzameling ook volledig uitschakelen of de metadata zelf aanleveren.
Automatische Verzameling (Standaard)
Wanneer er geen git configuratie wordt verstrekt, detecteert Watcher automatisch de huidige branch, commit-SHA, auteur en andere Git-velden uit de lokale repository. Er is geen extra configuratie nodig.
Als dit de eerste succesvolle sessie van het project is, wordt de automatisch gedetecteerde repository de vergrendelde repository van het project. Latere runs tegen een andere repository worden afgewezen. Zie Run afgewezen: datastructuur of repository komt niet overeen met het project.
Git-verzameling Uitschakelen
Als uw omgeving geen Git-binary heeft, of als u geen Git-gegevens aan een testuitvoering wilt koppelen, kunt u de verzameling volledig uitschakelen.
Als het project al aan Git is vergrendeld, produceert het uitschakelen van de verzameling niet langer een Gitless sessie: de run wordt in plaats daarvan afgewezen. Stuur Gitless-runs naar een apart project dat alleen voor Gitless is vergrendeld.
(JavaScript/TypeScript) Stel de eigenschap git in op false in je AxeConfiguration:
axe: {
apiKey: process.env.AXE_DEVELOPER_HUB_API_KEY,
projectId: process.env.AXE_DEVELOPER_HUB_PROJECT_ID,
git: false
}(Java) Roep setGit(false) aan op je AxeWatcherOptions:
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey(System.getenv("AXE_DEVELOPER_HUB_API_KEY"))
.setProjectId(System.getenv("AXE_DEVELOPER_HUB_PROJECT_ID"))
.setGit(false);Expliciete Metadata Verstrekken
Sommige CI-setups voeren tests uit in een aparte QA-repository die gescheiden is van de repository die getest wordt. In die gevallen zou auto-detectie metadata verzamelen van de QA-repository in plaats van de coderepository, wat misleidende resultaten zou opleveren in Axe Developer Hub. U moet dan de correcte metadata expliciet aanleveren.
Expliciete metadata is ook nuttig wanneer auto-detectie onbetrouwbaar is, bijvoorbeeld in ondiepe klonen of wanneer de repository in een gedetacheerde HEAD-status verkeert.
Wanneer expliciete metadata wordt verstrekt, wordt automatische detectie volledig overgeslagen voor die testuitvoering. Elk veld dat je weglaat, wordt verzonden als null.
De volgende velden zijn beschikbaar.
branch, commitSha en url zijn de git-bonvolle velden. Als het project nog niet is vastgelegd op een gegevensvorm, wordt een sessie die zonder alle drie wordt ingediend opgenomen als Gitless, en wordt het project voortaan vastgelegd op Gitless. Zodra een project is vastgelegd op Git, wordt een sessie die een van de drie mist bij de inname afgewezen: de resultaten worden niet opgeslagen. Zie Uitvoering Afgewezen: Gegevensvorm of Repository Komt Niet Overeen met het Project voor het afwijzingsbericht en hoe dit op te lossen. De overige velden zijn optioneel.
| Veld (JavaScript/TypeScript) | Methode (Java) | Gitvol | Beschrijving |
|---|---|---|---|
branch |
setBranch() |
ja | Huidige taknaam |
commitAuthor |
setCommitAuthor() |
nee | Weergavenaam van de auteur. Indien weggelaten, verschijnt de auteur als niet beschikbaar in Axe Developer Hub. |
commitEmail |
setCommitEmail() |
nee | E-mailadres van de auteur. |
commitMessage |
setCommitMessage() |
nee | Volledig commitbericht. Indien weggelaten, verschijnt het commitbericht als niet beschikbaar in Axe Developer Hub. |
commitSha |
setCommitSha() |
ja | Volledige of afgekorte commit hash |
defaultBranch |
setDefaultBranch() |
nee | Standaard branchnaam (bijv. main). Zonder dit veld kan Axe Developer Hub niet identificeren welke branch standaard is, dus vergelijkingen van feature-branches met de standaardbranch zullen niet beschikbaar zijn. |
isDirty |
setIsDirty() |
nee | true als er niet-gecommitteerde wijzigingen zijn |
tag |
setTag() |
nee | Huidige tag (bijv. v1.2.3) |
url |
setUrl() |
ja | URL van de repository op afstand |
(JavaScript/TypeScript) Geef een GitConfig object door aan de git eigenschap in je AxeConfiguration. De specifieke namen van omgevingsvariabelen zijn afhankelijk van je CI-platform:
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) Maak een AxeWatcherGitInfo instantie aan en geef deze door aan setGitInfo() op je 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"));Run afgewezen: datastructuur of repository komt niet overeen met het project
Zodra een project zijn eerste succesvolle sessie heeft verwerkt, worden de datastructuur (Git of Gitless) en, voor Git-projecten, de repository vergrendeld. Een run die niet overeenkomt met de vergrendeling wordt bij opname afgewezen en de resultaten worden niet opgeslagen.
Veelvoorkomende oorzaken:
- Een tweede repository of testsuite is gericht op hetzelfde project. Stuur het naar een eigen project in plaats van naar het project dat al aan een andere repository is gekoppeld.
- Een ondiepe clone, losgekoppelde HEAD-toestand, of een ontbrekende
originremote verwijdert de repository-URL, branch of commit SHA, waardoor een Git-run eruitziet als Gitless. Zie Axe Watcher in Continuous Integration (CI)-omgevingen voor CI-specifieke richtlijnen. - Het verzamelen van Git-gegevens was uitgeschakeld op een project dat al aan Git is gekoppeld. Het verzenden van een run met
git: falseconverteert het project niet langer naar Gitless; de run wordt afgewezen. Stuur Gitless-runs in plaats daarvan naar een apart, op Gitless vergrendeld project.
Zie Run afgewezen in Problemen oplossen voor het exacte afwijzingsbericht.
Zie ook
- (JavaScript/TypeScript)
AxeConfiguration.git - (Java)
AxeWatcherOptions.setGitInfo() - (Java)
AxeWatcherGitInfo - Gebruik Axe Watcher in Continuous Integration (CI)-omgevingen
