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

テスト実行時にAxe WatcherがGit情報を収集する方法を制御する

Not for use with personal data

Axe Watcherはアクセシビリティの結果をテストされたGitコミットにリンクし、Axe Developer Hubでブランチやビルドにまたがる問題を追跡できるようにします。デフォルトでは、WatcherはローカルGitバイナリを使用して、この情報を自動的に収集します。また、収集を完全に無効にしたり、自身でメタデータを提供したりすることもできます。

自動収集(デフォルト)

git 設定が提供されない場合、Watcher はローカルリポジトリから現在のブランチ、コミット SHA、作成者、およびその他の Git フィールドを自動検出します。追加の設定は必要ありません。

Git収集の無効化

環境にGitバイナリがない場合、またはテスト実行にGitデータを関連付けたくない場合、収集を完全に無効にすることができます。

(JavaScript/TypeScript)git プロパティをAxeConfigurationfalseに設定します。

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

(Java)AxeWatcherOptionssetGit(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状態にある場合など、自動検出が信頼できない場合にも明示的なメタデータは役立ちます。

note

明示的なメタデータが提供されると、そのテスト実行では自動検出が完全にスキップされます。省略したフィールドは全てnullとして送信されます。

以下のフィールドが利用可能です。branchcommitShaurlは 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)AxeConfigurationgitプロパティに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インスタンスを作成し、AxeWatcherOptionssetGitInfo()に渡します:

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"));

関連情報