mcpField
G
gplay-cli-usage

gplay-cli-usage

github.com/tamtomDevelopment52451 installsUpdated 13w ago
Repository

About gplay-cli-usage

gplay-cli-usage is a skill for running or designing Google Play Console commands, intended for people managing app releases and developer accounts. It covers CLI operations ranging from authentication, releases, and tracks to reports, metadata, and app vitals.

Key features

  1. 01Manage authentication and developer accounts
  2. 02Release apps and manage tracks
  3. 03Manage AABs, listings, and images
  4. 04Sync and validate metadata
  5. 05Review app vitals and reports

Use cases

  1. 01Release an app to a testing or production track
  2. 02Promote a release between tracks
  3. 03Validate or sync store metadata
  4. 04Review crash vitals and financial reports

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tamtom/gplay-cli-skills --skill gplay-cli-usage

After installing, type/gplay-cli-usagein Claude Code to confirm it loaded.

Details

From the project README

Google Play CLI usage

Use this skill when you need to run or design gplay commands for Google Play Console.

Command discovery

  • Always use --help to discover commands and flags.
    • gplay --help
    • gplay tracks --help
    • gplay tracks list --help

Available commands

CommandDescription
gplay authAuthentication and profile management
gplay appsList and manage apps in the developer account
gplay initInitialize a project with default config
gplay releaseHigh-level release workflow
gplay promotePromote releases between tracks
gplay rolloutManage staged rollouts
gplay tracksTrack management
gplay bundlesBundle (AAB) management
gplay editsEdit session management
gplay listingsStore listing management
gplay imagesScreenshot and image management
gplay syncMetadata sync (import/export)
gplay validateOffline validation of metadata
gplay vitalsApp vitals monitoring (crashes, performance, errors)
gplay usersUser management for developer account
gplay grantsApp-level permission grants
gplay reportsFinancial and statistics reports (list/download from GCS)
gplay docs generateGenerate CLI documentation
gplay migrateMigration tools (e.g., from Fastlane)
gplay notifySend notifications (e.g., Slack, webhook)
gplay updateSelf-update the CLI binary

Flag conventions

  • Use explicit long flags (e.g., --package, --output).
  • No interactive prompts; destructive operations require --confirm.
  • Use --paginate when the user wants all pages.
  • Use --dry-run to preview changes without executing them (supported by release, migrate, and other write commands).

Output formats

  • Default output is minified JSON.
  • Use --output table or --output markdown only for human-readable output.
  • --pretty is only valid with JSON output.
  • Set GPLAY_DEFAULT_OUTPUT environment variable to change the default output format (e.g., GPLAY_DEFAULT_OUTPUT=table).

Authentication and defaults

  • Prefer service account auth via gplay auth login --service-account /path/to/sa.json.
  • Fallback env vars: GPLAY_SERVICE_ACCOUNT, GPLAY_PACKAGE.
  • GPLAY_PACKAGE can provide a default package name.

Timeouts

  • GPLAY_TIMEOUT / GPLAY_TIMEOUT_SECONDS control request timeouts.
  • GPLAY_UPLOAD_TIMEOUT / GPLAY_UPLOAD_TIMEOUT_SECONDS control upload timeouts.

Environment Variables

VariablePurpose
GPLAY_SERVICE_ACCOUNTPath to service account JSON
GPLAY_PACKAGEDefault package name
GPLAY_PROFILEActive profile name
GPLAY_TIMEOUTRequest timeout (e.g., 90s, 2m)
GPLAY_TIMEOUT_SECONDSTimeout in seconds (alternative)
GPLAY_UPLOAD_TIMEOUTUpload timeout (e.g., 5m, 10m)
GPLAY_DEBUGEnable debug logging (set to api for HTTP requests)
GPLAY_NO_UPDATEDisable update checks
GPLAY_MAX_RETRIESMax retries for failed requests (default: 3)
GPLAY_RETRY_DELAYBase delay between retries (default: 1s)
GPLAY_DEFAULT_OUTPUTDefault output format (json, table, markdown)

Common patterns

List with pagination
gplay tracks list --package com.example.app --paginate
Parse JSON output with jq
gplay tracks list --package com.example.app | jq '.tracks[] | select(.track == "production")'
Use profiles
# Create/login a named profile
gplay auth login --profile production --service-account /path/to/prod-sa.json
# Switch the active profile
gplay auth switch --profile production
gplay --profile production tracks list --package com.example.app
Debug mode
GPLAY_DEBUG=1 gplay tracks list --package com.example.app
GPLAY_DEBUG=api gplay tracks list --package com.example.app  # HTTP details
Dry run (preview changes)
gplay release --package com.example.app --track beta --bundle app.aab --dry-run
gplay migrate fastlane --source ./fastlane/metadata/android --output-dir ./metadata --dry-run
Initialize a project
gplay init --package com.example.app --service-account /path/to/sa.json
List apps in developer account
gplay apps list
gplay apps list --output table
gplay apps list --paginate
Generate CLI documentation
gplay docs generate --output-file ./GPLAY.md
gplay docs generate --output-file -   # write to stdout
Self-update
gplay update
gplay update --check  # Check for updates without installing
Financial reports
# --bucket-id is the GCS bucket ID/URI from Play Console > Download reports > Copy Cloud Storage URI
gplay reports financial list --bucket-id <id>
gplay reports financial list --bucket-id <id> --type earnings --from 2026-01 --to 2026-06
gplay reports financial download --bucket-id <id> --from 2026-01 --type earnings --dir ./reports
Statistics reports
gplay reports stats list --bucket-id <id>
gplay reports stats list --bucket-id <id> --package com.example.app --type installs
gplay reports stats download --bucket-id <id> --package com.example.app --from 2026-01 --type installs --dir ./reports
Send notifications
gplay notify send --webhook-url https://hooks.slack.com/... --message "Release deployed"

Edit sessions

Most write operations require an edit session:

# Create edit
gplay edits create --package com.example.app
# Returns: edit_id

# Make changes
gplay bundles upload --package com.example.app --edit <edit_id> --file app.aab

# Commit changes (publishes)
gplay edits commit --package com.example.app --edit <edit_id>

High-level vs manual commands

  • High-level: gplay release (creates edit, uploads, commits)
  • Manual: gplay edits create → gplay bundles upload → gplay edits commit

Use high-level for simplicity, manual for fine-grained control.

Comments

Markdown supported