swb releases
The signed-in tenant's releases, oldest first, or one release with its channel moves.
Synopsis
Code
Arguments and flags
| Argument or flag | Takes | Default |
|---|---|---|
<id> | A release's id, as the list prints it. Prints that release and its moves instead of the list. | the list |
--state | One of assembling, testing, approved, closed or abandoned. Narrows the list to releases in that state. Not taken with <id>. | every state |
--limit | A positive integer: the page the API is asked for. | 50 |
--json | Nothing. Prints what the API answered instead of the table or the summary. | off |
--help, -h | Prints the command's help and exits. | off |
What it prints
The list is an aligned table, one row per release, in the order the control
plane keeps them, oldest first. An empty value prints as -, and a time
prints as 2026-02-01 09:00.
| Column | What it is |
|---|---|
NAME | The name it was assembled under. |
ID | Its id, which swb releases <id> and swb approve-release take. |
STATE | assembling until it is approved, then approved; abandoned once a later release of the same app was assembled before it was approved. |
MOVES | Each app it moves and the version it moves to. |
ASSEMBLED BY | The person who assembled it, by the name the tenant's directory holds for them, else Unnamed person, followed by via <app> where they acted through an installed app. |
ASSEMBLED | When it was assembled. |
APPROVED BY | The person who approved it, named the same way; - before the approval. |
When the answer has more rows than the page, it adds
(more; raise --limit to see them). With no releases it prints
no releases, or no <state> releases under --state.
Given an id, it prints the release and one line per move — the app, the channel, the head the channel stood at when the release was assembled, and the version it moves to:
Code
--json prints the release or the rows as the API answered them: id,
name, owner, state, createdAt, approvedBy, approvedAt, and
moves, each with its app, channel, fromVersion and toVersion.
owner and approvedBy are actors, each with its kind, id, via and
name; approvedBy is null before the approval.
The operation and the permission
Query.releases for the list and Query.release for one release. The
caller needs swb.apps.read on the tenant.
The same act in the console
Releases, under Deployments, and a release's own page, where the tenant has turned releases on.
Refusals and exit status
Exit status is 0 on success — an empty list included — and 1 on a refusal.
| Refusal | When |
|---|---|
not signed in or token expired — run swb login | There is no usable credential. |
no release <id> in this tenant | The tenant has no release with that id. |
--state takes assembling, testing, approved, closed, abandoned, not "<value>" | --state was given something else. |
--limit takes a positive integer, not "<value>" | --limit was given something else. |
| The API's own error text | The control plane refused the read — a caller without swb.apps.read, for example. |