๐ŸชCI/CD - Webhook Configuration

How to set up and run DoesQA in a CI/CD pipeline, and the configuration options available

In order to get started, you will need to sign into your DoesQA account. Once in the app, head to Settings ( bottom of the menu ) and into Webhooks.

From here, you are able to Create and Delete webhook keys.

Creating a new key

To create a new key, from the settings menu click on the + icon at the top.

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 that triggered the run. An example would be "CI - Staging"

Slack Channel

If you have installed our Slack integration, then from here you will be able to pick a channel for the test reports to go to. This is handy if you have a different channel for different environments. By default, these will go to the original channel that you picked when you integrated slack

Webhook Key

This is your secret key, only displayed once - so please store this in a safe place. You will need this key in order 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 for making sure the correct amount of flows are going to trigger and that you have configured any replacement values correctly

Query Parameters

NameTypeDescription

key*

String

The Webhook Key above

label

String

Customise the run label, helpful for differentiating runs ( Staging - Build 1234 )

ids

String

A comma-separated set of Flow IDs

withAll

String

A comma-separated set of tags ( "pipeline,staging" )

withoutAny

String

A comma-separated set of tags to exclude ( "wip,dev" )

values

String

A url-ecoded JSON object containing keys and values for any overrides to the Values (Value Store)

{
    "triggerLabel": "",
    "ids": number[],
    "withAll": string[],
    "withoutAny": string[],
    "hookValues": { [key: string]: string },
    "previews": boolean,
    "triggerName": string,
    "slackChannelId": string,
    "hasUsageAvailable": string,
    "topicType": string,
    "foundFlowsCount": number,
    "preview": boolean
}

Trigger DoesQA tests externally from the UI

POST https://app.does.qa/api/hook/ACCOUNT_ID

Trigger a webhook, this will take the given parameters, find flows that match and triggers a DoesQA test run.

Query Parameters

NameTypeDescription

key*

String

The Webhook Key above

label

String

Customise the run label, helpful for differentiating runs ( Staging - Build 1234 )

ids

String

A comma-separated set of Flow IDs

withAll

String

A comma-separated set of tags ( "pipeline,staging" )

withoutAny

String

A comma-separated set of tags to exclude ( "wip,dev" )

values

String

A url-ecoded JSON object containing keys and values for any overrides to the Values (Value Store)

{
    "triggerLabel": string,
    "ids": number[],
    "withAll": string[],
    "withoutAny": string[],
    "hookValues": { [key: string]: string },
    "previews": boolean,
    "triggerName": string,
    "slackChannelId": string,
    "hasUsageAvailable": string,
    "topicType": string,
    "foundFlowsCount": number,
    "preview": boolean
}

For any additional assistance in setting up your webhooks, please reach out to support and we would be more than happy to assist!

Last updated