gpc-user-management について
gpc-user-managementは、GPCを使ってGoogle Playデベロッパーアカウントのユーザー、権限、テスターを管理するスキルです。アカウント単位とアプリ単位のアクセス、テストトラック、CSVインポート、dry-runによる確認に対応します。
主な機能
- 01ユーザーの一覧・詳細確認・招待・削除
- 02デベロッパー単位とアプリ単位の権限設定
- 03各テストトラックのテスター管理
- 04CSVファイルからのテスターインポート
- 05dry-runコマンドによる変更の事前確認
- 06スクリプト向けJSON出力
活用シーン
- 01デベロッパーアカウントのアクセス権を監査
- 02アプリ固有の権限を付与または更新
- 03内部・Alpha・Betaトラックへテスターを追加
- 04テスターのメールアドレスを一括インポート
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yasserstudio/ gpc-skills --skill gpc-user-managementインストール後、Claude Code で/gpc-user-managementを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/permissions.mdtester-workflows.mdscripts/detect_gpc.mjs詳細
gpc-user-management
GPC でデベロッパーアカウントのユーザー、権限、テスターを管理します。
使用する場面
- Google Play デベロッパーアカウントへのユーザーの招待または削除
- ユーザー権限の更新(デベロッパーレベルまたはアプリ単位)
- デベロッパーアカウントへのアクセス権を持つユーザーの一覧表示と監査
- テストトラック(内部、アルファ、ベータ)へのテスターの追加または削除
- CSV ファイルからのテスターの一括インポート
- Google グループを利用したテスターアクセスの設定
必要な入力
- 認証済みの GPC —
gpc auth statusで有効な認証情報が表示される必要があります - デベロッパーアカウント ID — ユーザーコマンドで必要です(
--developer-idまたはGPC_DEVELOPER_ID) - アプリのパッケージ名 — テスターコマンドとアプリ単位の権限付与で必要です(
--app) - メールアドレス — ユーザーの招待またはテスターの追加に使用します
- CSV ファイル — テスターの一括インポートに使用します(
--file)
手順
0. セットアップを確認する
gpc auth status
gpc config get app
ユーザーコマンドには --developer-id が必要です。一度設定します。
export GPC_DEVELOPER_ID=1234567890
または、コマンドごとに指定します。gpc users list --developer-id 1234567890。
1. ユーザー — 一覧表示と確認
# List all users in the developer account
gpc users list --developer-id 1234567890
# Get details for a specific user
gpc users get [email protected] --developer-id 1234567890
# JSON output for scripting
gpc users list --developer-id 1234567890 --json
v0.9.98 で修正: 古いバージョンでは、Google がページネーションなしのリクエストを必須にしたため、
users listとusers getは「Pagination is not currently available」というエラーで失敗していました。v0.9.98 以降にアップグレードしてください。Google はすべてのユーザーを 1 回のレスポンスで返すため、--limitはそのレスポンスをローカルで絞り込みます。nextPageTokenは常にnullとなり、ユーザーに対して--next-pageは効果がありません。
2. ユーザー — 招待
デベロッパーレベルの権限と、任意のアプリ単位の権限付与を指定して、新しいユーザーを招待します。
# Invite with developer-level permissions
gpc users invite [email protected] \
--role VIEW_APP_INFORMATION VIEW_FINANCIAL_DATA \
--developer-id 1234567890
# Invite with per-app grants
gpc users invite [email protected] \
--grant "com.example.app:VIEW_APP_INFORMATION,MANAGE_TESTING" \
--developer-id 1234567890
# Combine developer-level and per-app permissions
gpc users invite [email protected] \
--role VIEW_APP_INFORMATION \
--grant "com.example.app:MANAGE_PRODUCTION_RELEASES" \
--developer-id 1234567890
# Preview first
gpc users invite [email protected] \
--role VIEW_APP_INFORMATION \
--developer-id 1234567890 \
--dry-run
デベロッパーレベルおよびアプリ単位の権限定数の一覧については、references/permissions.md を参照してください。
注: 権限の変更が Google のシステム全体に反映されるまで、最大 48 時間かかる場合があります。
3. ユーザー — 権限の更新
# Update developer-level permissions
gpc users update [email protected] \
--role VIEW_APP_INFORMATION VIEW_FINANCIAL_DATA MANAGE_ORDERS \
--developer-id 1234567890
# Update per-app grants
gpc users update [email protected] \
--grant "com.example.app:MANAGE_PRODUCTION_RELEASES,MANAGE_TESTING" \
--developer-id 1234567890
# Preview changes
gpc users update [email protected] \
--role VIEW_APP_INFORMATION \
--developer-id 1234567890 \
--dry-run
4. ユーザー — 削除
# Preview removal
gpc users remove [email protected] --developer-id 1234567890 --dry-run
# Remove
gpc users remove [email protected] --developer-id 1234567890
5. テスター — 一覧表示
# List testers for a track
gpc testers list --track internal
gpc testers list --track alpha
gpc testers list --track beta
# JSON output
gpc testers list --track beta --json
6. テスター — 追加と削除
# Add individual testers (Google Group emails or individual emails)
gpc testers add [email protected] [email protected] --track internal
# Add a Google Group
gpc testers add [email protected] --track beta
# Add testers without auto-submitting changes for review
gpc testers add [email protected] --track beta --changes-not-sent-for-review
# Fail if the app is currently in review or rejected before modifying testers
gpc testers add [email protected] --track beta --error-if-in-review
# Remove testers
gpc testers remove [email protected] --track internal
# Remove testers without auto-submitting changes for review
gpc testers remove [email protected] --track internal --changes-not-sent-for-review
# Preview changes
gpc testers add [email protected] --track beta --dry-run
7. 権限付与 — アプリ単位の権限を個別に管理
gpc grants は、ユーザー招待とは別にアプリ単位の権限を管理します。特定のアプリで個々のユーザーができることを細かく制御する必要がある場合に使用します。
# List all grants for a user
gpc grants list [email protected] --developer-id 1234567890
# List grants for a specific app
gpc grants list [email protected] \
--developer-id 1234567890 \
--app com.example.app
# Create a new per-app grant
gpc grants create [email protected] \
--app com.example.app \
--permissions MANAGE_PRODUCTION_RELEASES VIEW_APP_INFORMATION \
--developer-id 1234567890
# Update existing grant permissions
gpc grants patch [email protected] \
--app com.example.app \
--permissions VIEW_APP_INFORMATION \
--developer-id 1234567890
# Remove a per-app grant (revokes app-specific access)
gpc grants delete [email protected] \
--app com.example.app \
--developer-id 1234567890
gpc grants と gpc users update --grant の使い分け:
- デベロッパーレベルのロールを変更せず、既存ユーザーへの権限付与を管理する場合は
gpc grantsを使用します - ユーザーのアカウントレベルの権限も変更する場合は、
gpc users invite --grantまたはgpc users update --grantを使用します
v0.9.87 で追加:
grants listとtesters listは、他の一覧表示コマンドに合わせて、統一された--jsonエンベロープ{ <key>, nextPageToken, meta.count, message? }を返すようになりました。配列を直接読み込むスクリプトは動作しなくなるため、キー付きフィールドを分割代入するように更新してください。また、トラックに Google グループが設定されていない場合、testers listはgoogleGroups: []を出力します(itemsキーは常に存在します)。users listも GPC v0.9.83 から同じエンベロープを使用しています。
アプリ単位の権限定数の一覧については、references/permissions.md を参照してください。
8. テスター — CSV から一括インポート
メールアドレスを含む CSV ファイルからテスターをインポートします。
# Preview import
gpc testers import --track beta --file testers.csv --dry-run
# Import
gpc testers import --track beta --file testers.csv
CSV の形式 — 1 行につきメールアドレス 1 件:
email
[email protected]
[email protected]
[email protected]
一般的なテスター管理のパターンと Google グループのベストプラクティスについては、references/tester-workflows.md を参照してください。
検証
gpc users list --developer-id <id>で、権限を含む現在のユーザーが返されるgpc users get <email> --developer-id <id>で、ユーザーの現在のロールと権限付与が表示されるgpc testers list --track <track>で、指定したトラックのテスターが返される- すべての
--dry-runコマンドで、データを変更せずに変更内容を確認できる - すべてのコマンドで JSON 出力が利用できる(
--jsonフラグ) - 権限の変更が反映されるまで最大 48 時間かかる場合がある
障害の症状とデバッグ
| 症状 | 考えられる原因 | 対処方法 |
|---|---|---|
DEVELOPER_ID_REQUIRED | --developer-id フラグがありません | GPC_DEVELOPER_ID 環境変数を設定するか、--developer-id を渡します |
ユーザーコマンドで PERMISSION_DENIED が発生する | サービスアカウントに管理者権限がありません | Play Console で、サービスアカウントに「Admin」アクセス権が必要です |
USER_NOT_FOUND | 開発者アカウントにメールアドレスがありません | スペルを確認します。gpc users list を使って確認します |
INVALID_GRANT 形式 | --grant の構文が正しくありません | 形式:com.example.app:PERM1,PERM2(アプリと権限の間はコロン、権限同士はカンマで区切ります) |
INVALID_PERMISSION | 不明な権限定数です | 有効な定数については references/permissions.md を確認します |
| 権限が反映されない | 反映に48時間かかります | 反映を待ちます。変更は最終的に反映されるため、48時間後に確認します |
テスターに対して TRACK_NOT_FOUND が発生する | トラックが存在しないか、名前が正しくありません | 有効なトラック:internal、alpha、beta、またはカスタムトラック名 |
| CSV のインポートに失敗する | CSV の形式またはエンコーディングが正しくありません | UTF-8 を使用し、1行にメールアドレスを1つ記載して、ヘッダー行に email を指定します |
TESTER_LIMIT_EXCEEDED | トラックのテスター数が上限に達しています | Internal:100人。Alpha/Beta:固定の上限はありませんが、大規模な運用には Google Groups を推奨します |
関連スキル
- gpc-setup — 認証と開発者アカウントの設定
- gpc-release-flow — テスターがアクセスするテストトラックへのリリース
- gpc-ci-integration — CI/CD パイプラインでのテスター管理の自動化