Overview
Connecting Spur to your CI/CD pipeline adds an automated quality gate right before deployment. When a pull request is opened or code is pushed, Spur triggers your test plans and reports results directly in your repository. Failing tests block a merge before anything reaches production.GitHub
Set up GitHub Actions to run test plans on every pull request.
GitLab
Set up GitLab CI/CD to run test plans on every merge request.
Override URLs
Redirect tests to deploy previews or feature branch URLs at runtime.
Triggering via webhook
As an alternative to the GitHub Actions or GitLab pipeline files, you can trigger Spur test plans directly using a curl request to the Spur webhook. This is useful if you use a CI/CD provider other than GitHub or GitLab, or if you want more control over when tests are triggered. Send a POST request to the Spur webhook endpoint with your API key, the commit SHA, and the repository inowner/repo format. You can find your API key on the GitHub Integration Settings page in Spur. All three headers are required:
override_urls body is optional. Include it to redirect tests to a different URL (such as a deploy preview) without changing your environment settings. See Override URLs for the full configuration options.
Running specific test plans
By default, the webhook runs every test plan enabled on the GitHub Integration Settings page. To run only some of them, add thetest_plan_ids query parameter to the webhook URL. Separate multiple IDs with commas. A test plan’s ID is the number at the end of its URL in Spur, for example app.spurtest.com/test-plans/789:
develop and a UAT plan on pull requests to staging.
The parameter name is plural:
test_plan_ids. Spur ignores test_plan_id and runs every enabled test plan.Spur runs only the listed test plans that are enabled for the integration. If none of the IDs is enabled, no run starts, and the webhook still returns a success response. If an ID is not a whole number, Spur rejects the request with Invalid test plan ids and starts no run.