Get release readiness dashboard data
GET
/releases/{id}/readinessReturns aggregated readiness data for a release including execution summary, open defects, coverage by suite, evidence metrics, comparison to previous release, and a computed Go/No-Go verdict. Uses the latest run (regression) of each test plan in the release; run_history adds the same execution counts over every run.
Example
Section titled “Example”Use resource IDs from your own project. Keep the API token in your server or CI environment.
import { createConfiguration, ReleasesApi } from '@testcollab/sdk';
const config = createConfiguration(process.env.TESTCOLLAB_TOKEN!);const api = new ReleasesApi(config);
const result = await api.getReleaseReadiness({ "id": 123});console.log(result);curl --request GET \ "https://api.testcollab.io/releases/123/readiness?token=$TESTCOLLAB_TOKEN"Parameters
Section titled “Parameters”| Name | Location | Type | Required | Description |
|---|---|---|---|---|
id |
path | number | Yes | Release ID |
Response
Section titled “Response”200 — Release readiness dashboard data
| Field | Type | Required | Description |
|---|---|---|---|
release |
Release Minified | Yes | — |
release.id |
number | Yes | — |
release.name |
string | Yes | — |
release.status |
string | Yes | Values: planned, in_progress, ready, shipped, blocked. |
release.target_date |
string | No | — |
release.created_at |
string | No | — |
summary |
Release Readiness Summary | Yes | — |
summary.total |
number | Yes | Total number of test case executions across all plans |
summary.passed |
number | Yes | — |
summary.failed |
number | Yes | — |
summary.blocked |
number | Yes | — |
summary.skipped |
number | Yes | — |
summary.unexecuted |
number | Yes | — |
summary.pass_rate |
number | Yes | Percentage of passed out of total (excluding unexecuted) |
defects |
Release Readiness Defects | Yes | — |
defects.total |
number | Yes | Total number of defects (all statuses) across all test plans |
defects.total_open |
number | Yes | Total number of open defects across all test plans |
defects.by_severity |
Array of Release Readiness Defect Severity | Yes | — |
coverage |
Array of Release Readiness Coverage Item | Yes | — |
evidence |
Release Readiness Evidence | Yes | — |
evidence.total_failed |
number | Yes | Total failed executions across the release |
evidence.failed_with_attachments |
number | Yes | Failed executions that have at least one attachment |
evidence.evidence_coverage |
number | Yes | Percentage of failed executions with attachments |
comparison |
Release Readiness Comparison | No | — |
comparison.previous_release |
Release Minified | No | — |
comparison.previous_release.id |
number | Yes | — |
comparison.previous_release.name |
string | Yes | — |
comparison.previous_release.status |
string | Yes | Values: planned, in_progress, ready, shipped, blocked. |
comparison.previous_release.target_date |
string | No | — |
comparison.previous_release.created_at |
string | No | — |
comparison.previous_pass_rate |
number | No | Pass rate of the previous release |
comparison.pass_rate_delta |
number | No | Difference in pass rate (current - previous). Negative means regression. |
comparison.previous_open_defects |
number | No | Number of open defects in the previous release at time of shipping |
verdict |
Release Readiness Verdict | Yes | — |
verdict.result |
string | Yes | go = all thresholds met; no_go = one or more thresholds violated; at_risk = within 5% of a threshold; not_configured = no thresholds set on the release Values: go, no_go, at_risk, not_configured. |
verdict.reasons |
Array of string | Yes | List of human-readable reasons for the verdict |
test_plans |
Array of Release Readiness Test Plan | Yes | — |
requirement_coverage |
Release Readiness Requirement Coverage | No | Requirement coverage analysis. Only present when requirements are linked to this release and the inbuilt requirement feature is enabled. |
requirement_coverage.summary |
Release Readiness Requirement Summary | Yes | — |
requirement_coverage.summary.total |
number | Yes | Total number of requirements linked to this release |
requirement_coverage.summary.fully_covered |
number | Yes | Requirements where all linked test cases in the release passed |
requirement_coverage.summary.partially_covered |
number | Yes | Requirements where some test cases were executed but not all passed |
requirement_coverage.summary.not_covered |
number | Yes | Requirements where no linked test cases were executed |
requirement_coverage.summary.coverage_rate |
number | Yes | Percentage of fully covered requirements out of total |
requirement_coverage.items |
Array of Release Readiness Requirement Item | Yes | — |
custom_field_coverage |
Array of Release Readiness Custom Field Coverage | No | Coverage breakdown by non-text custom fields. Only present when eligible custom fields exist for the project. |
run_history |
Release Readiness Run History | No | Execution counts across every run of the release’s test plans. summary counts only the latest run of each plan. |
run_history.runs |
number | Yes | Number of runs across the release’s test plans |
run_history.summary |
Release Readiness Summary | Yes | — |
run_history.summary.total |
number | Yes | Total number of test case executions across all plans |
run_history.summary.passed |
number | Yes | — |
run_history.summary.failed |
number | Yes | — |
run_history.summary.blocked |
number | Yes | — |
run_history.summary.skipped |
number | Yes | — |
run_history.summary.unexecuted |
number | Yes | — |
run_history.summary.pass_rate |
number | Yes | Percentage of passed out of total (excluding unexecuted) |
configuration_coverage |
Array of Release Readiness Configuration Coverage | No | Coverage breakdown by test plan configuration. Only present when test plans in the release have configurations defined. |
{ "release": { "id": 123, "name": "example", "status": "planned", "target_date": "example", "created_at": "example" }, "summary": { "total": 123, "passed": 123, "failed": 123, "blocked": 123, "skipped": 123, "unexecuted": 123, "pass_rate": 123 }, "defects": { "total": 123, "total_open": 123, "by_severity": [] }, "coverage": [], "evidence": { "total_failed": 123, "failed_with_attachments": 123, "evidence_coverage": 123 }, "comparison": { "previous_release": { "id": 123, "name": "example", "status": "planned", "target_date": "example", "created_at": "example" }, "previous_pass_rate": 123, "pass_rate_delta": 123, "previous_open_defects": 123 }, "verdict": { "result": "go", "reasons": [] }, "test_plans": [], "requirement_coverage": { "summary": { "total": 123, "fully_covered": 123, "partially_covered": 123, "not_covered": 123, "coverage_rate": 123 }, "items": [] }}Errors
Section titled “Errors”| Status | Meaning |
|---|---|
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not found |
500 |
Internal server error |