Universal Webhook
Start a DoesQA Run from any system with an HTTP webhook.
Last updated
Start a DoesQA Run from any system with an HTTP webhook.
The Universal Webhook is how almost any external system can start a DoesQA Run. Your pipeline, automation platform, or custom script sends an HTTP request. DoesQA selects Flows, starts the Run, and keeps going.
With this you can create an integration with any other service, or a script you own. One URL and key unlock Runs from GitHub, Bitbucket, Azure DevOps, Make, Zapier, n8n, and anything else that can send HTTP.
This is the inbound hook that starts Runs. It is not the outbound notification webhook that posts results when a Run finishes. For outbound results, see Notifications.
One URL and key work across CI tools and no-code platforms.
You choose Flows with IDs, a Run Recipe, or tags.
You can preview the selection with GET before you wire a pipeline.
You can return immediately, or wait until the Run finishes.
Create and manage keys under Settings → CI/CD. Field-by-field detail for that screen lives on CI / CD.
In DoesQA, open Settings → CI/CD, create an Active key, and store the secret in your other system. DoesQA shows the secret once. See CI / CD.
Pick one selection style per request. If more than one is present, DoesQA uses the first match in this order:
Flow IDs (ids)
A Run Recipe (recipe)
Tags (withAll / withoutAny)
All Flows in the account
Include tags (withAll) mean the Flow must have every listed tag. Exclude tags (withoutAny) remove a Flow if it has any listed tag.
Send a GET. Nothing starts.
GET https://app.does.qa/api/hook/ACCOUNT_ID?key=YOUR_KEY&withAll=smokeCheck the response count against the Flows you expect. Fix tags, recipe, or IDs before you add the call to CI or an automation.
Send a POST:
By default the hook accepts the request and returns quickly while the Run continues. To wait until the Run finishes before your job continues, add mode=wait.
key
Yes
Your CI/CD webhook key. You can also send it as the x-api-key header.
label
No
Label shown on the Run, such as a build number.
ids
No
Comma-separated Flow IDs.
recipe
No
Run Recipe ID.
withAll
No
Comma-separated include tags. The Flow must have all of them.
withoutAny
No
Comma-separated exclude tags. The Flow must have none of them.
values
No
URL-encoded JSON object of Value overrides.
testsTagged
No
Only Test Cases that have this tag.
mode
No
fast (default) returns as soon as the Run is accepted. wait holds until the Run finishes.
Authenticate with the query key, or with header x-api-key: YOUR_KEY.
Optional Value overrides replace matching items from the Value Store for that Run.
Decoded, values is:
Prefer a ready-made flow when one exists. Otherwise paste the curl example into the service or script you already use, and you are connected.
To post results to Slack, Teams, email, or an outbound webhook, create a notification rule and include the CI/CD Webhook run type. See Notifications.
Last updated
POST https://app.does.qa/api/hook/ACCOUNT_ID?key=YOUR_KEY&withAll=smoke&label=Build%201234POST https://app.does.qa/api/hook/ACCOUNT_ID?key=YOUR_KEY&withAll=staging&label=PR-88&values=%7B%22BASE_URL%22%3A%22https%3A%2F%2Fstaging.example.com%22%7D{
"BASE_URL": "https://staging.example.com"
}curl -X POST \
"https://app.does.qa/api/hook/ACCOUNT_ID?key=YOUR_KEY&withAll=smoke&label=manual-check"