gplay metadata images apply
Reconcile the local Store-image tree (--dir, default ./metadata) with the images live on Google Play for --package.
The sync is ADDITIVE: it uploads images present on disk and reorders a
gallery whose order changed, but an image live on Play yet absent from a
managed slot is left intact (removing online-only images is --prune, a separate destructive mode). A slot absent or empty
on disk is unmanaged and never touched.
--dry-run reads the live images and prints the per-slot delta without committing (it is ONLINE — it diffs disk against Play). --output json is the diff schema {package, slots[], summary}, so a CI gate is one jq line: jq -e '.summary.upload + .summary.delete + .summary.reorder > 0'.
A real apply requires --confirm (every committed image is live on the store immediately; there is no draft). Without it apply refuses and points here. CI=true does NOT auto-confirm. The publish is atomic: all slots reconcile inside one Edit committed once, and any per-slot failure discards the Edit (0 published).
metadata images validate runs as a fail-fast pre-check;
--no-validate bypasses it (Play's commit stays the ultimate authority).
--locale and --type restrict the reconciliation to a subset of slots.
gplay metadata images apply [flags]| Flag | Description |
|---|---|
--confirm | authorize the real publish (images go live immediately) |
--dir string | metadata tree root directory (default "./metadata") |
--dry-run | read live Play and print the delta without committing (online) |
--locale stringArray | restrict to these locale codes (repeatable) |
--no-validate | skip the offline image validation pre-check (Play's commit stays the authority) |
--output string | output format: table, json, or markdown (default: auto — table on TTY, json in pipes/CI) |
--package string | Android package name (overrides .gplay/config.json pin) |
--prune | also delete a managed slot's online-only images (destructive; requires --confirm) |
--type stringArray | restrict to these image types (repeatable) |
Global flags
Section titled “Global flags”| Flag | Description |
|---|---|
--account string | name of a stored Account to use (overrides env and active Account) |
--retry int | retry transient failures (transport errors, 5xx, 429) up to N times with exponential backoff (default: 0, no retry) |
--service-account string | path to a service-account JSON, or inline JSON content (overrides --account, env, and active Account) |
--timeout duration | per-request API timeout, e.g. 30s or 2m (default: 60s for control-plane calls, none for uploads) |
-v, --verbose | log flow steps to stderr (info level) |