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 myapp plans list
List test plans in your project. Results are output as pretty-printed JSON to stdout.
Syntax
bash
qf myapp 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 |
Examples
bash
# List all test plans
qf myapp plans list
# Search for a plan by name
qf myapp plans list --query "regression"
# Sort by creation date, newest first
qf myapp plans list --sort-by createdAt --sort-desc
# Paginate through results
qf myapp 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 myapp plan get
Retrieve full details for a single test plan by its sequence number.
Syntax
bash
qf myapp plan get <seq>Arguments
| Argument | Description |
|---|---|
seq | The plan's sequence number (visible in the Qualflare UI and plans list output) |
Examples
bash
# Get details for plan #5
qf myapp 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 myapp plan cases
Retrieve the list of test cases assigned to a specific test plan.
Syntax
bash
qf myapp plan cases <seq>Arguments
| Argument | Description |
|---|---|
seq | The plan's sequence number |
Examples
bash
# Get all cases in plan #5
qf myapp 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 myapp plans list | jq '.testPlans | length'
# Extract plan titles and case counts
qf myapp plans list | jq '.testPlans[] | {seq, title, caseCount}'
# Find plans with more than 50 cases
qf myapp plans list | jq '[.testPlans[] | select(.caseCount > 50)]'
# Count cases in plan #5 by state
qf myapp plan cases 5 | jq 'group_by(.state) | map({state: .[0].state, count: length})'
# Get all failing cases in a plan
qf myapp plan cases 5 | jq '[.[] | select(.state == "failed")] | .[].title'
# List all unique suites referenced by a plan
qf myapp 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