Workflow
Pull request checks
Scanverra scans every pull request, comments with the critical and high issues it adds, and sets the scanverra/repo-scan status check. Issues already on the target branch never block a merge.
Set it up
- 1
Connect GitHub
On the Repo Scanner page, connect the GitHub account that has admin access to the repository. - 2
Open pull request checks
Click the pull request icon next to the repository's Scan button. - 3
Choose when to scan
Scan pull requests is on by default. Turn on Scan pushes to branches to also scan pushes to the branches you list, for examplemain, production. Then Turn on. - 4
Require the check (optional)
In GitHub, open Settings, then Branches, add a rule for your main branch and require the status checkscanverra/repo-scan. Pull requests that add critical or high issues then can't be merged.
What the check looks at
Each scan is compared with the latest scan of the pull request's target branch. Findings are matched by tool, rule and file (not line), so moving old code doesn't make it new. The status is failure only when the PR adds critical or high issues; it is error if the scan couldn't finish. Scanverra keeps one comment per PR and updates it on every push.
### ❌ 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.
Pull request checks or the GitHub Action?
Both use the same scanner. Pick the one that fits how you work.
| Pull request checks | GitHub Action | |
|---|---|---|
| Setup | A switch in Scanverra. No workflow file. | A workflow file and a repository secret. |
| Where it runs | On Scanverra, after GitHub sends the webhook. | In your GitHub Actions runner. |
| Gate | New critical or high issues, compared with the target branch. | fail-on severity, or fail-on-new for the same new-code gate. |
| Results | PR comment, status check and the Scanverra report. | Job log, SARIF in code scanning, and the Scanverra report when uploading. |
The Action is documented in CI/CD.
Troubleshooting
Nothing appears on the pull request
In GitHub, open the repository's Settings, then Webhooks, and check the latest delivery to Scanverra. A 401 means the webhook secret changed: turn pull request checks off and on again.
"GitHub didn't allow a webhook on this repository"
The connected account isn't an admin of the repository. Connect an account that is, or ask an admin to turn the checks on.
Checks stopped after a plan change
Webhook scans run only on paid plans. Your settings are kept: they start working again when the plan is active.
Every issue counts as new
The target branch has no earlier scan to compare with. Scan it once from the Repo Scanner page, or turn on Scan pushes to branches for
main.