gplay-migrate-fastlane
Fastlane Migration
Use this skill when you need to migrate from Fastlane supply to the gplay CLI.
Preconditions
- Existing Fastlane metadata directory structure.
- gplay CLI installed and authenticated.
- Familiarity with the source Fastlane directory layout.
Migrate Command
Basic migration
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata
Dry run (preview without writing files)
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--dry-run
Migrate specific locales only
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--locales en-US,es-ES,fr-FR
Dry run with specific locales
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--locales en-US,ja-JP \
--dry-run
Flags
| Flag | Description | Required |
|---|---|---|
--source |
Path to Fastlane metadata directory | Yes |
--output-dir |
Output directory for gplay metadata | Yes |
--dry-run |
Preview changes without writing files | No |
--locales |
Comma-separated list of locales to migrate | No (all by default) |
What Gets Migrated
The command converts the Fastlane directory structure into the gplay metadata format:
Fastlane source structure
fastlane/metadata/android/
├── en-US/
│ ├── title.txt
│ ├── short_description.txt
│ ├── full_description.txt
│ ├── video.txt
│ ├── changelogs/
│ │ ├── 100.txt
│ │ └── 101.txt
│ └── images/
│ ├── phoneScreenshots/
│ │ ├── 1.png
│ │ └── 2.png
│ ├── icon.png
│ └── featureGraphic.png
├── es-ES/
│ └── ...
Migrated output structure
metadata/
├── en-US/
│ ├── listing.json
│ ├── changelogs/
│ │ ├── 100.txt
│ │ └── 101.txt
│ └── images/
│ ├── phoneScreenshots/
│ │ ├── 1.png
│ │ └── 2.png
│ ├── icon.png
│ └── featureGraphic.png
├── es-ES/
│ └── ...
File conversions
title.txt,short_description.txt,full_description.txt,video.txtare consolidated intolisting.json.changelogs/are copied as-is.images/are copied as-is.
Workflow Examples
Full migration from Fastlane
# 1. Preview the migration
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--dry-run
# 2. Run the actual migration
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata
# 3. Verify the output
ls -R ./metadata
# 4. Import to Play Store
gplay sync import-listings \
--package com.example.app \
--dir ./metadata
Incremental locale migration
# Migrate English first
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--locales en-US
# Verify and test
gplay sync diff-listings \
--package com.example.app \
--dir ./metadata
# Migrate remaining locales
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata \
--locales es-ES,fr-FR,de-DE,ja-JP
CI/CD migration validation
# In CI, validate that migration produces expected output
gplay migrate fastlane \
--source ./fastlane/metadata/android \
--output-dir ./metadata-test \
--dry-run
# Check exit code
if [ $? -eq 0 ]; then
echo "Migration validation passed"
else
echo "Migration validation failed"
exit 1
fi
Replacing Fastlane Supply Commands
| Fastlane Command | gplay Equivalent |
|---|---|
fastlane supply init |
gplay sync export-listings --dir ./metadata |
fastlane supply |
gplay sync import-listings --dir ./metadata |
fastlane supply --skip_upload_images |
gplay sync import-listings --dir ./metadata |
fastlane supply --track beta |
gplay release --track beta --bundle app.aab |
fastlane supply --track production --rollout 0.1 |
gplay release --track production --bundle app.aab --rollout 10 |
Best Practices
- Always dry-run first - Preview the migration output before writing files.
- Migrate locale by locale - Start with your primary locale and verify.
- Keep Fastlane source - Do not delete the Fastlane directory until fully migrated and verified.
- Validate after migration - Use
gplay validate listingto check character limits. - Update CI/CD gradually - Replace Fastlane commands one at a time.
- Version control the output - Commit migrated metadata to track changes.
More from tamtom/gplay-cli-skills
gplay-cli-usage
Guidance for using the Google Play Console CLI in this repo (flags, output formats, pagination, auth, and discovery). Use when asked to run or design gplay commands or interact with Google Play Console via the CLI.
108gplay-gradle-build
Build, sign, and package Android apps with Gradle before uploading to Google Play. Use when asked to create an APK or AAB, configure signing, or set up build pipelines.
95gplay-submission-checks
Pre-submission validation for Google Play releases covering metadata, screenshots, bundle integrity, data safety, and policy compliance. Use when preparing a release to avoid rejections and catch issues before submitting.
93gplay-metadata-sync
Metadata and localization sync (including Fastlane format) for Google Play Store listings. Use when updating app descriptions, screenshots, or managing multi-locale metadata.
93gplay-signing-setup
Android app signing, keystores, and Play App Signing setup. Use when configuring signing for new apps or migrating to Play App Signing.
91gplay-iap-setup
In-app products, subscriptions, base plans, and offers setup for Google Play monetization. Use when configuring in-app purchases or subscription products.
89