CI/CD Integration
Integrate your tests right into your development processes with ease.
Avoid
To get started, you must sign in to your DoesQA account. Once in the app, head to Settings ( bottom of the menu ) and select CI/CD.
From here, you can create and delete webhook keys.
Creating a new key
To create a new key, click the + icon at the top of the settings menu.
A modal will appear and give you the following:
Name
Use this field to identify the token; this will be visible instead of the user who triggered the run. An example would be "CI - Staging"
Slack Channel
If you have installed our Slack integration, you can pick a channel to go to for the test reports from here. This is handy if you have a different channel for different environments. By default, these will go to the original channel you picked when you integrated Slack.
Webhook Key
This is your secret key, which is only displayed once. Please store it in a safe place. You will need this key to authenticate requests coming into our APIs.
Crafting a webhook call
To trigger test runs remotely, you need to POST to our API. Your ACCOUNT_ID is located on the settings page. Alternatively, you can also do a GET; see the API options below.
Preview tests before integrating the hook into your pipelines
GET
https://app.does.qa/api/hook/ACCOUNT_ID
Preview a webhook trigger; this can be used to ensure the correct amount of flows will trigger and that you have configured any replacement values correctly.
Running your pack via the API
POST
https://app.does.qa/api/hook/ACCOUNT_ID
Trigger a webhook. This will take the given parameters, find flows that match, and trigger a DoesQA test run.
Query Parameters
Name | Description |
---|---|
key | The Webhook Key above |
label | Customise the run label, which is helpful for differentiating runs ( Staging - Build 1234 ) |
ids | A comma-separated set of Flow IDs |
withAll | A comma-separated set of tags ( "pipeline,staging" ) |
withoutAny | A comma-separated set of tags to exclude ( "wip,dev" ) |
testsTagged | A comma-separated set of test tags ( "smoke,regression" ) |
testsNotTagged | A comma-separated set of test tags to exclude ( "wip" ) |
recipe | Recipe to use for the test run. (ID) |
preview | If you want to run the tests or trigger a preview of them (true/false) |
Body (JSON)
Any JSON payload sent to the endpoint will be used to overwrite Value Store items set in the tests. For example, to update the URL in your tests, you could send the following JSON payload:
You can also pass an array of value updates; this is handy if you are running the same pack on different locales
Response
Once you have called the endpoint, you should get the following response: