mcpField
G
gpc-user-management

gpc-user-management

github.com/yasserstudioセキュリティ137 回インストール1 週間前に更新
リポジトリ

gpc-user-management について

gpc-user-managementは、GPCを使ってGoogle Playデベロッパーアカウントのユーザー、権限、テスターを管理するスキルです。アカウント単位とアプリ単位のアクセス、テストトラック、CSVインポート、dry-runによる確認に対応します。

主な機能

  1. 01ユーザーの一覧・詳細確認・招待・削除
  2. 02デベロッパー単位とアプリ単位の権限設定
  3. 03各テストトラックのテスター管理
  4. 04CSVファイルからのテスターインポート
  5. 05dry-runコマンドによる変更の事前確認
  6. 06スクリプト向けJSON出力

活用シーン

  1. 01デベロッパーアカウントのアクセス権を監査
  2. 02アプリ固有の権限を付与または更新
  3. 03内部・Alpha・Betaトラックへテスターを追加
  4. 04テスターのメールアドレスを一括インポート

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/yasserstudio/gpc-skills --skill gpc-user-management

インストール後、Claude Code で/gpc-user-managementを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
evals.json
references/
permissions.md
tester-workflows.md
scripts/
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 パイプラインでのテスター管理の自動化

コメント