Loading...
Loading...
End-to-end release workflows for Google Play tracks (internal, beta, production) using gplay release, promote, and rollout commands. Use when asked to upload a build, distribute to testers, or release to production.
npx skill4agent add tamtom/gplay-cli-skills gplay-release-flowgplay auth loginGPLAY_SERVICE_ACCOUNTgplay release \
--package com.example.app \
--track internal \
--bundle app-release.aabgplay release \
--package com.example.app \
--track beta \
--bundle app-release.aab \
--release-notes @release-notes.jsongplay release \
--package com.example.app \
--track production \
--bundle app-release.aab \
--release-notes @release-notes.json \
--rollout 10gplay release \
--package com.example.app \
--track production \
--bundle app-release.aab \
--dry-rungplay release \
--package com.example.app \
--track production \
--bundle app-release.aab \
--listings-dir ./metadata \
--screenshots-dir ./metadata# Upload bundle only, skip metadata sync
gplay release \
--package com.example.app \
--track production \
--bundle app-release.aab \
--skip-metadata
# Upload bundle and metadata, skip screenshots
gplay release \
--package com.example.app \
--track production \
--bundle app-release.aab \
--listings-dir ./metadata \
--skip-screenshotsgplay release \
--package com.example.app \
--track beta \
--bundle app-release.aab \
--listings-dir ./metadata/listings \
--screenshots-dir ./metadata/images \
--release-notes @release-notes.jsonEDIT_ID=$(gplay edits create --package com.example.app | jq -r '.id')gplay bundles upload \
--package com.example.app \
--edit $EDIT_ID \
--file app-release.aabgplay tracks update \
--package com.example.app \
--edit $EDIT_ID \
--track production \
--json @track-config.jsongplay edits validate --package com.example.app --edit $EDIT_IDgplay edits commit --package com.example.app --edit $EDIT_ID# Promote from internal to beta
gplay promote \
--package com.example.app \
--from internal \
--to beta
# Promote from beta to production with 25% rollout
gplay promote \
--package com.example.app \
--from beta \
--to production \
--rollout 25gplay release \
--package com.example.app \
--track production \
--bundle app.aab \
--rollout 10gplay rollout update \
--package com.example.app \
--track production \
--rollout 50gplay rollout halt --package com.example.app --track productiongplay rollout resume --package com.example.app --track productiongplay rollout complete --package com.example.app --track productionrelease-notes.json{
"en-US": "Bug fixes and performance improvements",
"es-ES": "Correcciones de errores y mejoras de rendimiento",
"fr-FR": "Corrections de bugs et améliorations des performances"
}gplay release \
--package com.example.app \
--track beta \
--bundle app.aab \
--release-notes "Bug fixes and performance improvements" \
--release-notes-locale en-USgplay release \
--package com.example.app \
--track beta \
--bundle app.aab \
--release-notes @release-notes.txt \
--release-notes-locale en-US| Flag | Description |
|---|---|
| App package name (required) |
| Target track (required) |
| Path to AAB file (required) |
| Release notes (JSON file with |
| Locale for plain text release notes (e.g., |
| Rollout percentage (1-100) |
| Directory containing store listings to sync |
| Directory containing screenshots to upload |
| Skip metadata/listings sync during release |
| Skip screenshots upload during release |
| Preview the release without executing |
| Output format ( |
gplay release ... --dry-run# Week 1: Internal
gplay release --package com.example.app --track internal --bundle app.aab
# Week 2: Beta (after testing)
gplay promote --package com.example.app --from internal --to beta
# Week 3: Production with staged rollout
gplay promote --package com.example.app --from beta --to production --rollout 10
gplay rollout update --package com.example.app --track production --rollout 50 # Day 2
gplay rollout complete --package com.example.app --track production # Day 7# Day 1: 10%
gplay release --package com.example.app --track production --bundle app.aab --rollout 10
# Day 2: 25%
gplay rollout update --package com.example.app --track production --rollout 25
# Day 3: 50%
gplay rollout update --package com.example.app --track production --rollout 50
# Day 7: 100%
gplay rollout complete --package com.example.app --track production# 1. Dry run to verify everything
gplay release \
--package com.example.app \
--track production \
--bundle app.aab \
--listings-dir ./metadata \
--screenshots-dir ./metadata \
--release-notes @release-notes.json \
--rollout 10 \
--dry-run
# 2. Execute the release
gplay release \
--package com.example.app \
--track production \
--bundle app.aab \
--listings-dir ./metadata \
--screenshots-dir ./metadata \
--release-notes @release-notes.json \
--rollout 10--help--output tableGPLAY_SERVICE_ACCOUNT--dry-run