Manage release tracks — internal, alpha, beta, production, and custom tracks.
gpc tracks <subcommand> [options]Commands
| Command | Description |
|---|---|
tracks list | List all tracks with status |
tracks get | Get track details including releases |
tracks create | Create a custom closed testing track |
tracks update | Update track configuration |
tracks list
List all tracks for the app, showing the current status and active release for each.
Synopsis
gpc tracks list [options]Example
gpc tracks list --app com.example.myapp{
"tracks": [
{ "track": "internal", "releases": 1, "latestStatus": "completed", "latestVersion": "42" },
{ "track": "alpha", "releases": 0, "latestStatus": "none", "latestVersion": "-" },
{ "track": "beta", "releases": 1, "latestStatus": "completed", "latestVersion": "41" },
{ "track": "production", "releases": 1, "latestStatus": "completed", "latestVersion": "40" }
],
"nextPageToken": null,
"meta": { "count": 4 }
}2
3
4
5
6
7
8
9
10
List output shape (v0.9.87+)
tracks list --json returns the unified list envelope { tracks, nextPageToken, meta.count }. Each row is a summary: releases is the release count (a number), and latestStatus / latestVersion describe the most recent release. Use gpc tracks get <track> for the full release objects (versionCodes, userFraction, etc.).
tracks get
Get detailed information about a specific track, including all releases and their statuses.
Synopsis
gpc tracks get <track> [options]Example
gpc tracks get beta --app com.example.myapp{
"track": "beta",
"releases": [
{
"name": "Beta 41",
"versionCodes": ["41"],
"status": "completed",
"releaseNotes": [{ "language": "en-US", "text": "Bug fixes and performance improvements" }]
}
]
}2
3
4
5
6
7
8
9
10
11
tracks create
Create a custom closed testing track.
Synopsis
gpc tracks create <name> [options]Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--changes-not-sent-for-review | flag | Commit without sending for review | ||
--error-if-in-review | flag | Fail if changes are already in review |
Example
gpc tracks create my-qa-track --app com.example.myapptracks update
Update a track's configuration from a JSON file. This sets releases, status, and rollout fraction.
Synopsis
gpc tracks update <track> --file <path> [options]Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--file | string | (required) | Path to JSON track configuration | |
--dry-run | boolean | false | Preview changes without applying | |
--changes-not-sent-for-review | flag | Commit without sending for review | ||
--error-if-in-review | flag | Fail if changes are already in review |
Example
gpc tracks update beta --app com.example.myapp --file track-config.jsonPreview without applying:
gpc tracks update beta --app com.example.myapp --file track-config.json --dry-runErrors
| Exit Code | Meaning |
|---|---|
| 2 | Invalid track name or missing required arguments |
| 3 | Authentication failure |
| 4 | API error (e.g., track not found, edit conflict) |
