> For the complete documentation index, see [llms.txt](https://docs.does.qa/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.does.qa/configuration/ci-cd.md).

# CI / CD

**Settings → CI/CD** is where you create the keys that let other systems start Runs in DoesQA. Each key has a title and an Active or Inactive status. The secret is shown once when you create the key.

This page documents that settings screen. To connect a pipeline, automation platform, or custom script to DoesQA, start with the [Universal Webhook](/platform/integrations/universal-webhook.md) in [Integrations](/platform/integrations.md).

## Why create a key

* Let GitHub Actions, GitLab CI, Bitbucket, Azure DevOps, or a script start Runs without logging into DoesQA.
* Keep one key per environment or pipeline so you can turn access off without rewriting every workflow.
* Limit notification rules to specific CI/CD keys when only some pipelines should alert the team.

## Create a webhook key

{% stepper %}
{% step %}

## Open CI/CD settings

In DoesQA, go to **Settings → CI/CD**.
{% endstep %}

{% step %}

## Create a key

Choose **Create**, then set:

| Field      | What it is                                                                             |
| ---------- | -------------------------------------------------------------------------------------- |
| **Title**  | A label for this key, such as `CI - Staging`. It appears on Runs started with the key. |
| **Status** | **Active** or **Inactive**. Only Active keys can start Runs.                           |

DoesQA shows the secret key once. Store it in your pipeline secrets or automation platform. You will not see it again in the app.
{% endstep %}

{% step %}

## Find your Account ID

Open **Settings** (Account Settings). Copy the **Account ID**. The Universal Webhook URL includes it.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**Pro tip:** Create separate keys for staging and production pipelines. Set a key to **Inactive** when a pipeline should stop starting Runs, without deleting the history of Runs that already used it.
{% endhint %}

## Choose how to connect

| Goal                                 | Start here                                                                                                               |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
| Any HTTP client, script, or tool     | [Universal Webhook](/platform/integrations/universal-webhook.md)                                                         |
| GitHub Actions with PR Checks        | [GitHub](/platform/integrations/github.md)                                                                               |
| GitLab CI with the catalog component | [GitLab](/platform/integrations/gitlab.md)                                                                               |
| Bitbucket Pipelines                  | [Bitbucket](/platform/integrations/bitbucket.md)                                                                         |
| Azure Pipelines                      | [Azure DevOps](/platform/integrations/azure-devops.md)                                                                   |
| Make, Zapier, or n8n                 | [Make](/platform/integrations/make.md), [Zapier](/platform/integrations/zapier.md), [n8n](/platform/integrations/n8n.md) |

Call the Universal Webhook with your Account ID and key. That page covers preview (GET), start Run (POST), selection order, Value overrides, and `mode=wait`.

Pair keys with [Run Recipes](/configuration/run-recipes.md) or tags from [Tag Test](/test-steps/utility/tag-test.md) so each pipeline selects the right Flows. See [Build smoke and regression coverage](/better-coverage/build-smoke-and-regression-coverage.md).

## Notifications for CI/CD Runs

Notification rules can include the **CI/CD Webhook** run type, and can limit that type to **All Keys** or specific **CI/CD Keys**. See [Notifications](/configuration/notifications.md).

## Related

* [Universal Webhook](/platform/integrations/universal-webhook.md)
* [Integrations](/platform/integrations.md)
* [GitHub](/platform/integrations/github.md)
* [GitLab](/platform/integrations/gitlab.md)
* [Bitbucket](/platform/integrations/bitbucket.md)
* [Azure DevOps](/platform/integrations/azure-devops.md)
* [Make](/platform/integrations/make.md)
* [Zapier](/platform/integrations/zapier.md)
* [n8n](/platform/integrations/n8n.md)
* [Notifications](/configuration/notifications.md)
* [Run Recipes](/configuration/run-recipes.md)
* [Max Concurrency](/configuration/max-concurrency.md)
* [Build smoke and regression coverage](/better-coverage/build-smoke-and-regression-coverage.md)
