Plans Commands
Test plans in Qualflare organize test cases into structured execution plans, defining which cases should be run for a given release, milestone, or testing effort. The plans commands let you list plans and retrieve their case assignments from the command line.
qf plans list
List test plans in your project. Results are output as pretty-printed JSON to stdout.
Syntax
bash
qf plans list [flags]Flags
| Flag | Type | Default | Description |
|---|---|---|---|
--query | string | "" | Filter plans by name or description |
--page | int | 0 | Page number for paginated results |
--sort-by | string | "" | Field to sort results by (e.g., title, createdAt) |
--sort-desc | bool | false | Sort in descending order |
--api-key | string | "" | API key for authentication. Overrides QF_API_KEY environment variable. |
Examples
bash
# List all test plans
qf plans list
# Search for a plan by name
qf plans list --query "regression"
# Sort by creation date, newest first
qf plans list --sort-by createdAt --sort-desc
# Paginate through results
qf plans list --page 2Example Output
json
{
"testPlans": [
{
"seq": 5,
"title": "v2.4 Regression Suite",
"description": "Full regression coverage for the v2.4 release",
"caseCount": 64,
"createdAt": "2026-03-01T08:00:00Z"
},
{
"seq": 6,
"title": "Smoke Tests - Production",
"description": "Critical path smoke tests run after every production deploy",
"caseCount": 12,
"createdAt": "2026-03-05T10:00:00Z"
}
]
}qf plan get
Retrieve full details for a single test plan by its sequence number.
Syntax
bash
qf plan get <seq>Arguments
| Argument | Description |
|---|---|
seq | The plan's sequence number (visible in the Qualflare UI and plans list output) |
Flags
| Flag | Type | Default | Description |
|---|---|---|---|
--api-key | string | "" | API key for authentication. Overrides QF_API_KEY environment variable. |
Examples
bash
# Get details for plan #5
qf plan get 5Example Output
json
{
"seq": 5,
"title": "v2.4 Regression Suite",
"description": "Full regression coverage for the v2.4 release",
"caseCount": 64,
"createdAt": "2026-03-01T08:00:00Z",
"updatedAt": "2026-03-18T16:45:00Z"
}qf plan cases
Retrieve the list of test cases assigned to a specific test plan.
Syntax
bash
qf plan cases <seq>Arguments
| Argument | Description |
|---|---|
seq | The plan's sequence number |
Flags
| Flag | Type | Default | Description |
|---|---|---|---|
--api-key | string | "" | API key for authentication. Overrides QF_API_KEY environment variable. |
Examples
bash
# Get all cases in plan #5
qf plan cases 5Example Output
json
[
{
"seq": 101,
"title": "User can log in with valid credentials",
"state": "passed",
"priority": "critical",
"suiteSeq": 5
},
{
"seq": 115,
"title": "Password reset email is sent",
"state": "pending",
"priority": "high",
"suiteSeq": 5
},
{
"seq": 203,
"title": "Items persist in cart after session refresh",
"state": "passed",
"priority": "medium",
"suiteSeq": 8
}
]Working with JSON Output
All plans commands output pretty-printed JSON, making them easy to pipe into jq for filtering and transformation.
bash
# Count total plans
qf plans list | jq '.testPlans | length'
# Extract plan titles and case counts
qf plans list | jq '.testPlans[] | {seq, title, caseCount}'
# Find plans with more than 50 cases
qf plans list | jq '[.testPlans[] | select(.caseCount > 50)]'
# Count cases in plan #5 by state
qf plan cases 5 | jq 'group_by(.state) | map({state: .[0].state, count: length})'
# Get all failing cases in a plan
qf plan cases 5 | jq '[.[] | select(.state == "failed")] | .[].title'
# List all unique suites referenced by a plan
qf plan cases 5 | jq '[.[].suiteSeq] | unique'See Also
- Cases Commands — List and inspect the individual test cases within a plan
- Suites Commands — Inspect the suites that cases belong to
- Launches Commands — View execution history for test plans
- Collect Command — Upload test results to Qualflare
- Configuration — Environment variables and global flags reference