Skip to content
SEO Optimizer is live, Audit on page SEO and AI-search readiness. Try it free

ワークフロー

プルリクエストチェック

Scanverra はすべてのプルリクエストをスキャンし、追加された緊急・高の問題をコメントし、ステータスチェック scanverra/repo-scan を設定します。ターゲットブランチに既にある問題でマージがブロックされることはありません。

有料プラン、接続済みの GitHub アカウント、リポジトリの管理者権限が必要です。Scanverra がリポジトリに Webhook を追加するためです。

設定方法

  1. 1

    GitHub を接続

    Repo Scanner のページで、リポジトリの管理者権限を持つ GitHub アカウントを接続します。
  2. 2

    プルリクエストチェックを開く

    リポジトリの「スキャン」ボタンの横にあるプルリクエストのアイコンをクリックします。
  3. 3

    スキャンのタイミングを選ぶ

    「プルリクエストをスキャン」は既定でオンです。「ブランチへのプッシュをスキャン」をオンにすると、指定したブランチ (例: main, production) へのプッシュもスキャンします。最後に「有効にする」をクリックします。
  4. 4

    チェックを必須にする (任意)

    GitHub で Settings、Branches の順に開き、メインブランチのルールを追加してステータスチェック scanverra/repo-scan を必須にします。緊急または高の問題を追加するプルリクエストはマージできなくなります。

チェックの判定内容

各スキャンは、プルリクエストのターゲットブランチの最新スキャンと比較されます。検出結果はツール、ルール、ファイル (行ではなく) で照合されるため、古いコードを移動しても新しい問題にはなりません。ステータスは PR が緊急・高の問題を追加した場合のみ failure、スキャンが完了できなかった場合は error です。Scanverra は PR ごとに1つのコメントを保ち、プッシュのたびに更新します。

プルリクエストのコメント
### ❌ Scanverra: 2 new critical or high issues

Score 72/100 · quality gate passed · compared with the latest scan of `main`

| Severity | Issue |
| --- | --- |
| 🔴 critical | Hardcoded API key (`src/lib/payments.ts:12`) |
| 🟠 high | SQL query built from user input (`src/api/orders.ts:48`) |

5 critical or high issues were already on `main` and don't block this PR.

Open the full report. From there you can open a fix pull request for the issues Scanverra can fix.

プルリクエストチェックか GitHub Action か

どちらも同じスキャナーを使います。作業スタイルに合う方を選んでください。

プルリクエストチェックGitHub Action
設定Scanverra のスイッチ1つ。ワークフローファイルは不要。ワークフローファイルとリポジトリシークレット。
実行場所GitHub が Webhook を送った後、Scanverra 上で。お使いの GitHub Actions ランナー上で。
判定ターゲットブランチと比べて新しい緊急・高の問題。重大度の fail-on、または同じ新規コード判定の fail-on-new。
結果PR コメント、ステータスチェック、Scanverra のレポート。ジョブログ、code scanning の SARIF、アップロード時は Scanverra のレポート。

Action については CI/CD を参照してください。

トラブルシューティング

  • プルリクエストに何も表示されない

    GitHub でリポジトリの Settings、Webhooks の順に開き、Scanverra への最新の配信を確認してください。401 は Webhook のシークレットが変わったことを意味します。チェックを一度無効にしてから有効にしてください。

  • 「GitHub がこのリポジトリへの Webhook を許可しませんでした」

    接続しているアカウントがリポジトリの管理者ではありません。管理者のアカウントを接続するか、管理者にチェックを有効にしてもらってください。

  • プラン変更後にチェックが止まった

    Webhook によるスキャンは有料プランでのみ実行されます。設定は保持され、プランが有効になると再び動作します。

  • すべての問題が新しいと判定される

    ターゲットブランチに比較できる過去のスキャンがありません。Repo Scanner のページで一度スキャンするか、main について「ブランチへのプッシュをスキャン」をオンにしてください。