Gitメタデータの提供
テスト実行時にAxe WatcherがGit情報を収集する方法を制御する
Axe Watcherはアクセシビリティの結果をテストされたGitコミットにリンクし、Axe Developer Hubでブランチやビルドにまたがる問題を追跡できるようにします。デフォルトでは、WatcherはローカルGitバイナリを使用して、この情報を自動的に収集します。また、収集を完全に無効にしたり、自身でメタデータを提供したりすることもできます。
自動収集(デフォルト)
git 設定が提供されない場合、Watcher はローカルリポジトリから現在のブランチ、コミット SHA、作成者、およびその他の Git フィールドを自動検出します。追加の設定は必要ありません。
Git収集の無効化
環境にGitバイナリがない場合、またはテスト実行にGitデータを関連付けたくない場合、収集を完全に無効にすることができます。
(JavaScript/TypeScript)git プロパティをAxeConfigurationのfalseに設定します。
axe: {
apiKey: process.env.AXE_DEVELOPER_HUB_API_KEY,
projectId: process.env.AXE_DEVELOPER_HUB_PROJECT_ID,
git: false
}(Java)AxeWatcherOptionsのsetGit(false)を呼び出します:
AxeWatcherOptions options = new AxeWatcherOptions()
.setApiKey(System.getenv("AXE_DEVELOPER_HUB_API_KEY"))
.setProjectId(System.getenv("AXE_DEVELOPER_HUB_PROJECT_ID"))
.setGit(false);明示的なメタデータの提供
一部のCI設定では、テストがテスト対象のリポジトリとは別の専用のQAリポジトリで実行されます。その場合、自動検出はコードリポジトリではなくQAリポジトリからメタデータを収集してしまい、Axe Developer Hubで誤解を招く結果を生じます。正しいメタデータを明示的に提供する必要があります。
浅いクローンやリポジトリがデタッチされたHEAD状態にある場合など、自動検出が信頼できない場合にも明示的なメタデータは役立ちます。
明示的なメタデータが提供されると、そのテスト実行では自動検出が完全にスキップされます。省略したフィールドは全てnullとして送信されます。
以下のフィールドが利用可能です。branch、commitSha、urlは gitful フィールドです。この3つをすべて含まないセッションはgitlessとして記録され保存されますが、Axe Developer Hub は gitless セッションビューに切り替わり、以前のセッションからのブランチとコミット履歴は表示されません。この3つすべてを含む後続のセッションを送信すると、gitful ビューが復元されます。3つのうち1つまたは2つしか存在しない場合、Axe Watcher はすべての gitful フィールドを削除し、そのセッションを gitless として記録し、応答に警告を含めます。残りのフィールドはオプションです。
| フィールド(JavaScript/TypeScript) | メソッド(Java) | Gitful | 説明 |
|---|---|---|---|
branch |
setBranch() |
はい | 現在のブランチ名 |
commitAuthor |
setCommitAuthor() |
いいえ | 著者表示名。省略された場合、Axe Developer Hub では著者は利用不可能として表示されます。 |
commitEmail |
setCommitEmail() |
いいえ | 著者のメールアドレス。 |
commitMessage |
setCommitMessage() |
いいえ | 完全なコミットメッセージ。省略された場合、Axe Developer Hub ではコミットメッセージは利用不可能として表示されます。 |
commitSha |
setCommitSha() |
はい | フルまたは略式のコミットハッシュ |
defaultBranch |
setDefaultBranch() |
いいえ | デフォルトブランチ名(例:main)。このフィールドがないと、Axe Developer Hub はどのブランチがデフォルトか識別できないため、デフォルトブランチに対するフィーチャーブランチの比較は利用できなくなります。 |
isDirty |
setIsDirty() |
いいえ | 未コミットの変更がある場合はtrue |
tag |
setTag() |
いいえ | 現在のタグ(例:v1.2.3) |
url |
setUrl() |
はい | リポジトリのリモートURL |
(JavaScript/TypeScript)AxeConfigurationのgitプロパティにGitConfigオブジェクトを渡します。具体的な環境変数名は使用している 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)AxeWatcherGitInfoインスタンスを作成し、AxeWatcherOptionsのsetGitInfo()に渡します:
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"));関連情報
- (JavaScript/TypeScript)
AxeConfiguration.git - (Java)
AxeWatcherOptions.setGitInfo() - (Java)
AxeWatcherGitInfo - CI環境でAxe Watcherを使用する
