CLIを使用してアクセシビリティ結果をAxe Developer Hubに送信する
CLIを使用してアクセシビリティ結果をAxe Developer Hubにアップロードするさまざまな方法について説明します
CLIを使用すると、アクセシビリティ結果をAxe Developer Hubに送信できます。次のことが可能です:
- 結果をアップロードする 以前のテストランからAxe Developer Hubに。 このオプションは
devhubCLIサブコマンドを使用し、ウェブAPIを利用してウェブページを分析した結果や、個々のページを分析したりスペックファイルを実行して保存した結果をアップロードすることができます。 - 個別のページを分析するし、結果をAxe Developer Hubに直接送信します(結果ファイルを先に保存せずに)。
- スペックファイルを実行するして結果を直接Axe Developer Hubに送信します(結果ファイルを先に保存せずに)。
要件
Axe Developer HubでCLIを使用するには、次のものが必要です:
- AxeアカウントとAxe Developer Hubのサブスクリプション。詳細はAxe Developer Hubの使い方を始めるを参照してください。
- 結果をアップロードするAxe Developer Hubプロジェクト。新しいプロジェクトの作成についてはプロジェクトをAxe Developer Hubで設定を参照してください。プロジェクトを作成するときに、プロジェクトがCLIを入力またはデータソースとして使用することを指定します。結果をアップロードするにはこれらの値が必要です:
- 個人APIキー(AxeアカウントのAPIキーに表示されています)
- プロジェクトID(新しいAxe Developer Hubプロジェクトを作成するときに表示されます)
- (オプション)web APIを使用するテストがある場合、テストを結果ファイルまたはファイルを生成するように修正する必要があります。結果ファイルは、テスト実行の結果を含む
.jsonファイルで、使用するAPIによって結果ファイルを作成する手順が異なります。詳細は結果ファイルの作成を参照してください。結果ファイルをアップロードするには、devhubサブコマンドを使用します。
Axe Developer Hubへの結果送信
通常、CLIはウェブサイトをテストし、-sオプションを使用して結果を保存する場合のみ結果を生成します(テストされたウェブサイトのアクセシビリティエラーに関する情報が含まれる.jsonファイルです)。--axe-devhub-api-keyコマンドラインオプション(またはAXE_DEVHUB_API_KEY環境変数を設定することで)でAPIキーを指定し、--axe-devhub-project-id(またはAXE_DEVHUB_PROJECT_ID環境変数を設定)でプロジェクトIDを指定することにより、結果をAxe Developer Hubに送信することができます。APIキーは秘密として扱う必要があります:コマンドラインオプションより環境変数を優先し、CI/CDプラットフォームの秘密ストアに保存するなどして、スクリプトにハードコーディングしたりソース管理にコミットしたりしないでください。
デフォルトでは、CLIを実行しているディレクトリがGitリポジトリの一部である場合、Git情報もアップロードします。Git情報のアップロードの仕組みについては、GitモードとGitlessモードを参照してください。
CLIは、現在のGitブランチとコミット履歴をアクセシビリティ結果に関連付けます。
Gitリポジトリ内のディレクトリからCLIを実行する場合、Axe Developer Hubに送信する結果は、同じコミット(SHAによって決定されます)の以前の結果を上書きします。(各コミットに関連付けられる結果は1セットのみです。)CLIを実行するたびに新しいコミットを作成する必要があります。プロジェクトがまだGitロックされていない場合は、--no-git-dataオプションを使用してGitlessで結果を送信することもできます。詳細はGitモードとGitlessモードをご覧ください。
結果をアップロードする
以前にテストを実行して結果ファイル(.jsonファイル、通常はaxe-result-2025-09-03T14 02 32-0700.jsonなどの名前を持つ)を持っている場合、これらの結果をdevhubサブコマンドでAxe Developer Hubにアップロードできます。ページをテストしたりスペックファイルを実行したりするときに-sコマンドラインオプションを使用して結果を保存できます:
axe https://example.com -sページ分析またはスペックファイルを実行する際には、最初に結果を保存し、それからアップロードする必要はありません。APIキーとプロジェクトIDを指定することで、CLIはページの分析が完了したとき、またはスペックファイルの実行が終了したときに結果をアップロードします。個別ページを分析するとスペックファイルを実行するを参照してください。
前の例では、生成された結果ファイルをAxe Developer Hubにアップロードすることができます。以下に示します:
axe devhub <results-dir(s)-or-file(s)> --axe-devhub-api-key <your-API-key> --axe-devhub-project-id <your-project-ID>.(ドット)をresults-dir(s)-or-file(s)として使用して、現在のディレクトリ内のすべての.json結果ファイルをアップロードできます。複数のディレクトリまたはファイルを指定してアップロードすることも可能です。
Web APIを使用して結果ファイルを作成する
ウェブAPIを使用している場合、APIテストを修正して結果ファイルを書き込む必要があります。その後、devhubサブコマンドを使用してこれらの結果をAxe Developer Hubにアップロードできます。次の表には結果ファイルの作成に関する情報が含まれるリンクがあり、これらのAPIは提供されているレポートまたはロギングAPIを使用して.jsonファイルとしてディスクに結果を書き込みます。
| API | リンク名 |
|---|---|
| Node.js | Axe DevTools Logger |
| C# | Reporter-Compatible JSONの作成 |
| Java | Javaでレポートを生成する |
| Python | Reporter-Compatible JSONの作成 |
| Ruby | レポートオプション |
個別ページを分析する
個々のウェブページをスキャンし、指定したプロジェクトIDで参照されるAxe Developer Hubプロジェクトに結果を送信できます:
axe https://google.com --axe-devhub-api-key <your-API-key> --axe-devhub-project-id <your-project-ID>この例では、CLIはGoogleのサイトに対してアクセシビリティテストを実行し、その後、指定されたプロジェクトIDで参照されるAxe Developer Hubプロジェクトに結果を送信します。
コマンドラインで複数のページを一覧表示してテストすることもできます。:
axe https://example.com/page1.html https://example.com/page2.html --axe-devhub-api-key <your-API-key> --axe-devhub-project-id <your-project-ID>Axe Developer Hubでプロジェクトを訪問して結果を確認してください。結果を理解するを参照してください。
スペックファイルを実行する
スペックファイルの実行結果を送信するには、--axe-devhub-api-keyおよび--axe-devhub-project-idコマンドラインオプションを使用できます。
axe spec my-spec-file.yml --axe-devhub-api-key <your-API-key> --axe-devhub-project-id <your-project-ID>この例では、YAML仕様ファイルmy-spec-file.ymlを実行し、そのアクセシビリティ結果をAxe Developer Hubにアップロードします。仕様ファイルについての詳しい情報はワークフロースペックをご覧ください。
ページのテストをスキップしてスペックファイルを先に進める必要がある場合は、--resume-from <page>コマンドラインオプションを使用して、スペックファイル内の特定のページからテストを再開できます。詳細については、から再開するを参照してください。
GitモードとGitlessモード
デフォルトでは、CLIをGitリポジトリ内のディレクトリから実行すると、Axe Developer Hubは最新のGitコミットにアクセシビリティ結果を関連付け、アクセシビリティエラーをGitのコミットに簡単に結びつけることができます。しかし、この動作の副作用として、Axe Developer Hubに結果を報告するたびに、SHAに基づいて他のすべての実行が同じコミットでことになります。さらに、別のブランチに切り替えると、Axe Developer Hubに送信された結果はそのブランチの最新のコミットに関連付けられます。
Axe Developer Hub のデフォルト動作が好ましくない場合、およびプロジェクトがデータ形状にまだロックされていない場合には:
- Gitリポジトリ外のディレクトリでCLIを使用できます。
--no-git-dataコマンドラインオプションを使用することで、サーバーにGit情報を報告することを省略し、Gitlessモードで実行します。このモードでは、サーバーに結果を報告するたびに、新しいテストランが時間と日付によって識別され作成されます。Gitモードで実行する場合とは異なり、ブランチとコミットによって識別されません。
プロジェクトは、その初回の成功したセッションに基づいてGitまたはGitlessに、Gitプロジェクトは単一のリポジトリにロックされます。プロジェクトがロックされた後に別のデータ形状や異なるリポジトリからのランを送信すると受け入れられずに拒否されます。実行が拒否されたときを参照してください。すでにGitロックされたプロジェクトに送信されている結果をGitlessビューで見たい場合は、別のGitlessロックされたプロジェクトに送信してください。
GitおよびGitless結果がAxe Developer Hubでどのように整理され提示されるかについての情報は、結果を理解するをご覧ください。
実行が拒否されたとき
Axe Developer Hub は実行を受け付けないことがあります。その場合、CLI はサーバーから送られた説明を表示します。それにはプロジェクトが期待していたこと、実行が送った内容、そして次に何をすべきかが記されています。まずそのメッセージを読んでください。それは、それに伴うHTTPステータスより具体的です。
拒否された実行はステータス1で終了し、CLI は再試行しません。
CLI のバージョン 4.13.0 より前では、拒否された実行は HTTP ステータス(409 Conflict など)のみが報告され、サーバーの説明は破棄されていました。4.13.0 以降にアップグレードして確認してください。
例えば、Gitリポジトリにロックされているプロジェクトは、異なるリポジトリからのランを以下のようなメッセージで拒否します:
This project is locked to a different repository. Project expects {lockedRepo}; this run sent {incomingRepo}. The results were not ingested. Send this run to its own Axe Developer Hub project, or check that CI is providing git information for the locked repository.一般的な原因:同じプロジェクトを指す2つ目のリポジトリまたはテストスイート、CI内のGit情報を剥がす浅いクローンまたは分離したHEAD状態、またはすでにGitにロックされたプロジェクトで使用された--no-git-data。Watcherが入力源である場合、CIに特化したガイダンスは継続的インテグレーション(CI)環境におけるAxe Watcherをご覧ください。
コマンドラインオプション
CLIは以下のコマンドラインオプションを受け入れます。:
--axe-devhub-api-keyは個人用APIキーを設定でき、AXE_DEVHUB_API_KEY環境変数に相当します。必須--axe-devhub-project-idは、Axe Developer HubプロジェクトのプロジェクトIDを設定し、AXE_DEVHUB_PROJECT_ID環境変数と同等です。必須--axe-devhub-server-urlはデフォルト以外のサーバーを使用することができ(https://axe.deque.com)、AXE_DEVHUB_SERVER_URL環境変数に相当します。あなたの組織が地域インスタンス、プライベートクラウド、またはオンプレミスでのAxe Developer Hubの展開を使用している場合はこれを設定してください。オプション--no-git-dataサーバーにGit情報を報告しないようにします。プロジェクトがすでにGitにロックされていない場合にのみ動作し、そうでなければランは拒否されます。詳細についてはGitモードとGitlessモードをご覧ください。相当する環境変数はありません。オプション
環境変数
APIキー、プロジェクトID、またはサーバーURLをコマンドラインで指定する必要がないように環境変数を設定できます。特に連続統合でAPIキーを秘密にしておくことが推奨される時は、この方法を使用してください。
AXE_DEVHUB_API_KEYとAXE_DEVHUB_PROJECT_IDを設定すると、ページを分析したり、仕様ファイルを実行した際に、常に結果がAxe Developer Hubに送信されます。例えば、これらの環境変数を設定し、以下のようにページを分析する場合:
axe https://somewebsite.com結果はAxe Developer Hubに送信されます。この動作は、CLIを使用してページを分析するまたはスペックファイルを実行するするときに適用されます。
AXE_DEVHUB_API_KEYは個人用APIキーを指定し、--axe-devhub-api-keyコマンドラインオプションに相当します。AXE_DEVHUB_PROJECT_IDは、Axe Developer HubプロジェクトのプロジェクトIDを指定し、--axe-devhub-project-idコマンドラインオプションと同等です。AXE_DEVHUB_SERVER_URLはAxe Developer HubのサーバーURLを指定し(デフォルトはhttps://axe.deque.com)、--axe-devhub-server-urlコマンドラインオプションに相当します。あなたの組織が地域インスタンス、プライベートクラウド、またはオンプレミスでのAxe Developer Hubの展開を使用している場合はこれを設定してください。
