Communityコーディング&開発github.com

PollyGlot/google-play-cli

gplay: CIまたはコーディングエージェントからGoogle Playに公開します。単一の静的バイナリ、Play Developer APIをそのままミラーリングするJSON出力、意味的な終了コード。Fastlane supplyを置き換えます。

google-play-cli とは?

このスキルは、`gplay` という単一の静的バイナリを使用して、CI/CDパイプラインやAIコーディングエージェント(Claude Code、Cursor、Codexなど)から直接Google Play Consoleへのアプリ公開を可能にします。Play Developer APIのレスポンスを完全にミラーリングしたJSONを出力し、意味的な終了コードで成功/失敗を明確に伝えるため、自動化ワークフローとの統合が容易です。Fastlane supplyの複雑な依存関係やRuby環境を必要とせず、移植性の高いGo製の単一バイナリとして提供されるため、どの環境でも一貫して動作します。これにより、開発者はリリースプロセスを簡素化し、エラー処理を堅牢化できます。

対応~Claude Code~Codex CLI~Cursor
npx skills add PollyGlot/google-play-cli

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

google-play-cli は何をしますか?

gplay: CIまたはコーディングエージェントからGoogle Playに公開します。単一の静的バイナリ、Play Developer APIをそのままミラーリングするJSON出力、意味的な終了コード。Fastlane supplyを置き換えます。

概要

gplay は、Google Play Consoleへのアプリ公開を自動化するためのコマンドラインツールです。CI/CDパイプラインやAIエージェントでの使用に最適化されており、以下の特徴を持ちます:

  • 単一の静的バイナリ: Goで書かれており、依存関係なしでどの環境でも実行可能
  • Play Developer APIの完全ミラーリング: APIレスポンスをそのままJSONで出力
  • 意味的な終了コード: 成功(0)、認証エラー(1)、APIエラー(2)など、機械可読な終了コード
  • Fastlane supplyの置き換え: よりシンプルで高速な公開プロセスを実現

インストール

# Linux/macOS (x86_64)
curl -L https://github.com/PollyGlot/google-play-cli/releases/latest/download/gplay-linux-amd64 -o gplay
chmod +x gplay
sudo mv gplay /usr/local/bin/

# macOS (Apple Silicon)
curl -L https://github.com/PollyGlot/google-play-cli/releases/latest/download/gplay-darwin-arm64 -o gplay
chmod +x gplay
sudo mv gplay /usr/local/bin/

設定

Google Play Consoleへのアクセスには、サービスアカウントが必要です。

  1. Google Cloud Consoleでサービスアカウントを作成
  2. JSON形式の秘密鍵をダウンロード
  3. 環境変数 GOOGLE_APPLICATION_CREDENTIALS に鍵ファイルのパスを設定
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json"

使用方法

基本コマンド

# アプリの新規バージョンを公開
gplay upload --package-name com.example.app --aab app-release.aab

# 既存のバージョンを宣伝
gplay promote --package-name com.example.app --from-track internal --to-track production

# トラックのステータスを確認
gplay status --package-name com.example.app --track production

AIエージェントでの使用例

{
  "command": "gplay upload --package-name com.example.app --aab app-release.aab --json",
  "output": {
    "versionCode": 42,
    "status": "UPLOADED",
    "track": "internal"
  },
  "exitCode": 0
}

オプション

オプション説明
--package-nameアプリのパッケージ名(必須)
--aabアップロードするAABファイルのパス
--apkアップロードするAPKファイルのパス
--trackトラック名(internal, alpha, beta, production)
--from-track昇格元のトラック
--release-nameリリース名(オプション)
--jsonJSON形式で出力
--helpヘルプを表示

終了コード

コード意味
0成功
1認証エラー
2APIエラー
3引数エラー
4ファイルエラー

CI/CD統合

GitHub Actions

- name: Publish to Google Play
  run: |
    gplay upload --package-name ${{ secrets.PACKAGE_NAME }} --aab app-release.aab
  env:
    GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_KEY }}

GitLab CI

publish:
  script:
    - gplay upload --package-name $PACKAGE_NAME --aab app-release.aab

ライセンス

MIT

関連スキル