Skip to content
developers
Open TestCollab

Get release readiness dashboard data

GET/releases/{id}/readiness

Returns 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.

Use resource IDs from your own project. Keep the API token in your server or CI environment.

example.ts
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);
Name Location Type Required Description
id path number Yes Release ID

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.
Illustrative response
{
"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": []
}
}
Status Meaning
401 Unauthorized
403 Forbidden
404 Not found
500 Internal server error