Skip to main content
Your GitLab integration and deploy notifications must already be set up.
PR testing won’t work until QA Wolf configures your workspace to support it. QA Wolf will:
  • Set up a trigger that matches your preview deployments
  • Provide the deployment_type value to use for preview tests
  • Confirm how QA Wolf should identify the merge request (for example, by branch name or merge request ID)
  • Confirm the preview URL variable name used in your pipeline
Each merge request must deploy a preview environment that QA Wolf can reach. Your pipeline should provide a stable preview URL for each merge request and include a step that waits until the preview is live before tests start.
Your GitLab pipeline must deploy a preview environment during merge request pipelines (often using Review Apps). The preview URL must be available in the job that triggers the QA Wolf notification.
Add a job that notifies QA Wolf after the preview environment is deployed and reachable.Add a notify_qawolf job to your .gitlab-ci.yml that runs only for merge request pipelines.
stages:
  - deploy
  - test

notify_qawolf:
  stage: test
  image: curlimages/curl:latest
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
  needs:
    - deploy_preview
  script:
    - |
      curl -X POST "https://app.qawolf.com/api/webhooks/deploy_success" \
        -H "Authorization: Bearer $QA_WOLF_API_KEY" \
        -H "Content-Type: application/json" \
        -d "{
          \"branch\": \"$CI_COMMIT_REF_NAME\",
          \"deployment_type\": \"provided-by-qawolf\",
          \"deployment_url\": \"$PREVIEW_URL\",
          \"sha\": \"$CI_COMMIT_SHA\",
          \"hosting_service\": \"GitLab\"
        }"
What this job assumes
  • Your pipeline already creates a preview environment for each merge request.
  • The preview environment URL is available as PREVIEW_URL when this job runs.
  • A prior job (such as deploy_preview) deploys the preview environment and verifies it is reachable before notifying QA Wolf.
When the merge request pipeline runs, this job sends the preview URL to QA Wolf, which starts a test run against that environment.
In GitLab, merge requests are typically blocked unless pipelines pass.
1
Open your GitLab project.
2
Go to Settings → Merge requests.
3
Enable Pipelines must succeed (wording varies by GitLab version).
4
Save the setting.
If your project uses approval rules or protected branches, ensure the merge request pipeline is the one required to pass.
1

Open a merge request in GitLab.

Confirm that your merge request triggers a pipeline that deploys a preview environment.
2

Confirm the preview environment is created.

In GitLab, check the merge request’s environment or the Review App link, and confirm that the preview URL is reachable.
3

Confirm QA Wolf starts a test run.

In the QA Wolf app, go to the Runs tab and verify that a new run starts for the preview environment associated with the merge request.
4

Confirm the merge request is blocked on failure.

In GitLab, confirm the pipeline reflects the final result and that the merge request cannot be merged unless the pipeline succeeds.
Last modified on February 9, 2026