コードカバレッジのPRゲーティング
アップロードされたテストカバレッジが最小しきい値を下回った場合、GitHubのプルリクエストチェックを失敗させます。
カバレッジゲーティングは現在 GitHub で利用できます。GitLab、Bitbucket、Azure DevOps のサポートは近日提供予定です。
CI がアップロードするカバレッジレポートが選択した割合を下回ると、GitHub の pull request を失敗にします。Aikido は別のチェックを投稿し、 Aikido Security: コードカバレッジ、カバレッジがしきい値を下回ると失敗としてマークします。
これは、次の機能と同じカバレッジアップロードを使用します。 コードカバレッジ ダッシュボード。Aikido が比較する割合は、pull request のコミットに対して、そのレポート内の行数に対するカバー済み行数です。
前提条件
これを有効にする前に:
- ご利用中のプランは Basic, Pro, Advanced、または Enterprise プランです。
- リポジトリは GitHub リポジトリです Aikido に接続されているで始まり、 GitHub PR チェック がインストールされています。
- 少なくとも 1 つのスキャンが 脆弱性スキャン でそのリポジトリに対して有効になっています(依存関係、SAST、IaC、シークレット、マルウェア、またはライセンス)。Aikido は、カバレッジで pull request を失敗させる前に、これらのスキャンのいずれか 1 つを必要とします。
- pull request ワークフローは、そのコミットのカバレッジを次のものでアップロードします。 Aikido Code Coverage GitHub Action。そのアップロードによってチェックが完了します。
しきい値を設定
- 次を開きます: GitHub PR チェック.
- リポジトリを選択して次を開きます 構成を管理.
- 次の場所で コード品質スキャンを有効にし、 コードカバレッジのチェックを失敗にする.
- 次の項目を設定します: 必要最小テストカバレッジ を 1 から 100 の整数で指定します。初期値は 50 です。
- 保存。
カバレッジゲートは次の項目とは独立しています。 PR でコード品質スキャンを実行 と 未解決コメントがある場合にチェックを失敗にする。コード品質コメントを投稿せずに、カバレッジのみで pull request を失敗にできます。

カバレッジチェックを有効にし、リポジトリの最小割合を設定します。
もし アクション → 詳細設定 → PRチェックを常に成功にする がオンの場合、カバレッジがしきい値を下回っていても、このチェックは合格します。
チェックの仕組み
各 pull request ごとに、Aikido は Aikido Security: コードカバレッジ を開き、そのコミットのカバレッジアップロードを待ちます。
| 結果 | 次の場合 |
|---|---|
| 成功 | アップロードされたカバレッジがしきい値以上です。チェックの概要には割合としきい値が表示されます。 |
| 失敗 | アップロードされたカバレッジがしきい値を下回っています。 |
| 中立 | 30 分以内にカバレッジレポートが届きません。Aikido は pull request を失敗にしません。概要には、Aikido が時間内にカバレッジレポートを受信しなかったと表示されます。 |
Aikido は、そのコミットについて CI がアップロードしたレポートのカバレッジ割合を読み取ります。その割合はレポート内のファイルに基づきます。参照: テストが収集したファイルを確認できます.
チェックは、そのコミットのアップロード割合を使用します。すべてのアプリを実行し、すべてのレポートをアップロードしてください。実行したアプリだけを含むレポートでは、そのアプリにしきい値が適用されます。変更のないアプリを除外するには、最新のレポートを引き継いで、すべてのレポートをまとめてアップロードしてください。参照 変更されたパスのみをテストするモノレポ.
マージをブロック
Aikido はチェックを失敗にできます。その失敗がマージをブロックするかどうかは GitHub が決定します。次を追加してください。 Aikido Security: コードカバレッジ 保護したいブランチの必須ステータスチェックとして
トラブルシューティング
- チェックは保留のままで、その後中立で終了します: pull request ワークフローが、そのコミットのレポートを 30 分以内にアップロードしませんでした。Aikido に接続されているリポジトリで、head コミットの pull request に対してアップロード手順が実行されていることを確認してください。
- チェックは失敗し、割合が想定より低く見えます: しきい値はアップロードされたレポートに適用されます。レポートがリポジトリの一部しか含まない場合、Aikido はその割合を使用します。テストランナーの collect または include パスを広げるか、すべてのアプリのレポートをまとめてアップロードして、もう一度アップロードしてください。参照 変更されたパスのみをテストするモノレポ.
- 構成の保存に失敗します: 次のいずれかのスキャンを少なくとも 1 つ有効にしてから 脆弱性スキャン、もう一度保存してください。
- 設定に「Upgrade:」と表示されます: このチェックを含む Code Coverage は、Basic、Pro、Advanced、Enterprise の各プランで利用できます。
ヘルプが必要ですか?
を開き、 Intercomチャット が右下隅に表示されます。私たちのチームがお手伝いします。