Scan after deploy
GitHub Actions
Start a scan from your workflow after each deploy.
Integration guide
Add a job to .gitlab-ci.yml that calls the Rookflare deploy hook once your deploy stage succeeds, so each pipeline on your default branch starts a scan.
Overview
Setup
Step 1
Open the website, go to the Settings tab and select “Create deploy hook” in the “Scan after deploy” card. Copy the token right away: this is the only time Rookflare shows it in full. The card keeps the endpoint and the last four characters of the token.
Step 2
In GitLab, open Settings → CI/CD → Variables and add ROOKFLARE_DEPLOY_TOKEN with the token as its value. Mark it masked so it never shows in job logs. Mark it protected only if you deploy from protected branches or tags, because protected variables are not passed to other pipelines.
Step 3
The job runs in the .post stage. When a job in an earlier stage fails, later stages do not start, so a failed deploy never triggers a scan. The rule limits it to the default branch; change it to match how you deploy.
Sample endpoint and placeholder token. The dashboard fills in yours.
Step 4
Merge or push to the default branch, or start a pipeline from Build → Pipelines → Run pipeline. The rookflare-scan job appears in the last column of the pipeline graph. In Rookflare, “Last used” updates and the website’s Scan history shows a scan with the trigger “After deploy”.
Troubleshooting
A protected variable is only available in pipelines for protected branches and tags. On any other branch $ROOKFLARE_DEPLOY_TOKEN is empty. Protect the deploy branch, or remove the protected flag from the variable.
GitLab does not run a pipeline that contains only .pre or .post jobs. If your rules skip every deploy job on that branch, the Rookflare job alone is not enough to start a pipeline, which is what you want.
Tag pipelines have no $CI_COMMIT_BRANCH, so the default-branch rule does not match. Use a rule on $CI_COMMIT_TAG instead, and keep the job tied to the same condition as your deploy job.
401 means a wrong, rotated or revoked token, 402 a plan or daily limit, 409 an unverified or paused website and 429 more than 30 calls a minute. The cURL guide explains each answer and what to do.
In your deploy tool’s secret store, never in the repository. The token can only start scans of one website, and you can rotate or revoke it on the website’s Settings tab at any time; the old token stops working right away.
Yes. Add “needs: [your-deploy-job]” to the Rookflare job. GitLab then starts it as soon as that job succeeds and ignores the stage order. Keep the same rules as the deploy job.
Only the one that ships the address you monitor, usually the job with environment: production. Review apps and staging have their own URLs, and a call from them would scan your live site even though nothing changed there.
The dashboard shows ready-made snippets for GitHub Actions, Vercel, Netlify, WordPress and cURL. The GitLab job is the same cURL request with GitLab’s variables, so it works with the same endpoint and token.
Add your address, pick the pages and approve the first scan as your baseline.
Plans start at €19 per month. Prices are provisional.