Skip to content
| Marketplace
Sign in
Azure DevOps>Azure Pipelines>CleverQA Release
CleverQA Release

CleverQA Release

CleverQA

|
1 install
| (0) | Free
Declare a release to CleverQA from Azure Pipelines so crashes and incidents attribute to it.
Get it free

Declares a release to CleverQA from Azure Pipelines, so crashes and incidents that follow are attributed to it.

- task: CleverQADeclareRelease@1
  inputs:
    apiToken: $(CLEVERQA_TOKEN)
    project: my-project
    version: $(appVersion)
    platform: backend

version must be semver, such as 1.4.2. The default Azure Pipelines build number (20261019.1) is not, so pass your app's version, or a v1.4.2 tag (one leading v is stripped).

Full pipeline

Declare the release when a version tag is built, after the build and deploy steps succeed:

trigger:
  tags:
    include: ['v*']

pool:
  vmImage: ubuntu-latest

variables:
  - group: cleverqa              # holds the secret CLEVERQA_TOKEN
  - name: appVersion
    value: $[ replace(variables['Build.SourceBranch'], 'refs/tags/', '') ]

steps:
  - script: make test
  - script: make deploy

  - task: CleverQADeclareRelease@1
    name: cleverqa
    inputs:
      apiToken: $(CLEVERQA_TOKEN)
      project: my-project
      version: $(appVersion)       # v1.4.2 is sent as 1.4.2
      buildNumber: $(Build.BuildNumber)

  - script: echo "CleverQA release $(cleverqa.releaseId)"

Declaring the same project, version and platform again updates the existing release instead of creating a duplicate, so re-running a pipeline is safe.

Inputs

Name Description Required Default
apiToken CleverQA API token (tok_...) with the releases:write scope. Pass it from a secret variable. yes
project Project slug, as it appears in the project URL yes
version Semver version, e.g. 1.4.2. One leading v is stripped. yes
platform backend, ios or android. Must be enabled on the project. no backend
buildNumber Build number no
apiUrl CleverQA base URL. Only change this for self-hosted. no https://cleverqa.com

Output variable

Name Description
releaseId The CleverQA release ID. Give the step a name and read it as $(<name>.releaseId).

Failures

The task fails whenever the release is not recorded, and the log shows the HTTP status and CleverQA's reason. The token is never logged.

Status Usual cause
400 Version is not semver, or the platform is not enabled on the project
401 Token is wrong, revoked or expired
402 The workspace is on the Free plan; declaring releases needs Essentials or above
403 Token is missing the releases:write scope
404 No project with that slug in the token's workspace

If declaring a release must never block your deploy, add continueOnError: true to the step.

Where do I get a token?

In CleverQA, a workspace admin opens Settings → API tokens, creates a token with the releases:write scope, and copies it. It is shown once. Store it as a secret pipeline variable or in a variable group, e.g. CLEVERQA_TOKEN.

What is CleverQA?

CleverQA turns monitor incidents, crash spikes, server saturation, load-test breakpoints and release regressions into one tracked defect with a likely cause attached. Declaring releases is what lets crashes and incidents attribute back to the release that caused them. See cleverqa.com.

Azure Boards

CleverQA also integrates with Azure Boards: it creates work items from defects, and work item status changes flow back to the CleverQA defect through a service hook. Set it up in CleverQA under Integrations → Azure DevOps.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft