[GH-ISSUE #329] Parity: Game Center challenges, activities, groups, matchmaking #101

Closed
opened 2026-02-26 21:33:24 +03:00 by kerem · 1 comment
Owner

Originally created by @rudrankriyam on GitHub (Jan 30, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/329

Originally assigned to: @rudrankriyam on GitHub.

Overview

Expand Game Center CLI to cover missing resources: challenges, activities, groups, and matchmaking (queues, rule sets, rules, teams, metrics).

Scope (OpenAPI resources)

  • gameCenterChallenges + versions/localizations/images/releases
  • gameCenterActivities + versions/localizations/images/releases + relationships (achievements/leaderboards)
  • gameCenterGroups CRUD + relationships
  • Matchmaking: queues, rule sets, rules, teams, metrics, rule set tests

Proposed CLI

Top-level group:

  • asc game-center ...

New/expanded subcommands:

  • game-center challenges list|get|create|update|delete
  • game-center challenges localizations list|create|update|delete
  • game-center challenges images create|update|delete
  • game-center challenges releases list|create|delete
  • game-center activities list|get|create|update|delete
  • game-center activities localizations/images/releases ...
  • game-center activities achievements|leaderboards set --activity-id ID --ids ...
  • game-center groups list|get|create|update|delete
  • game-center groups achievements|leaderboards|challenges set ...
  • game-center matchmaking queues|rule-sets|rules|teams ...
  • game-center matchmaking metrics ...

Examples:

  • asc game-center challenges list --app APP_ID
  • asc game-center activities create --app APP_ID --reference-name "Weekly" --vendor-id com.example.weekly
  • asc game-center matchmaking queues list --app APP_ID

Flag patterns

Common:

  • --app, --id, --output, --pretty, --limit, --next, --paginate, --confirm

Resource-specific:

  • --reference-name, --vendor-id, --locale, --file, --rule-set-id

Output

  • JSON minified by default
  • --pretty for JSON
  • --output table/markdown for list commands

Detailed TODO

  • Add client methods for challenges/activities/groups CRUD + related resources
  • Add client methods for matchmaking queues/rule sets/rules/teams/metrics/tests
  • Implement CLI subcommands listed above
  • Add output helpers as needed
  • Add cmdtests + HTTP client tests (mocked)

Acceptance criteria

  • Challenges/activities/groups CRUD work
  • Matchmaking resources are accessible
  • Relationships (achievements/leaderboards) can be updated
  • Pagination/--next validation works
  • JSON-first output preserved

Tests

  • Flag validation tests
  • HTTP client tests for list/get/create/update/delete
  • Output tests for list commands

Implementation notes

  • Add client methods in internal/asc/game_center.go
  • Add CLI commands in internal/cli/gamecenter
  • Follow patterns from existing achievements/leaderboards commands
Originally created by @rudrankriyam on GitHub (Jan 30, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/329 Originally assigned to: @rudrankriyam on GitHub. # Overview Expand Game Center CLI to cover missing resources: challenges, activities, groups, and matchmaking (queues, rule sets, rules, teams, metrics). # Scope (OpenAPI resources) - `gameCenterChallenges` + versions/localizations/images/releases - `gameCenterActivities` + versions/localizations/images/releases + relationships (achievements/leaderboards) - `gameCenterGroups` CRUD + relationships - Matchmaking: queues, rule sets, rules, teams, metrics, rule set tests # Proposed CLI Top-level group: - `asc game-center ...` New/expanded subcommands: - `game-center challenges list|get|create|update|delete` - `game-center challenges localizations list|create|update|delete` - `game-center challenges images create|update|delete` - `game-center challenges releases list|create|delete` - `game-center activities list|get|create|update|delete` - `game-center activities localizations/images/releases ...` - `game-center activities achievements|leaderboards set --activity-id ID --ids ...` - `game-center groups list|get|create|update|delete` - `game-center groups achievements|leaderboards|challenges set ...` - `game-center matchmaking queues|rule-sets|rules|teams ...` - `game-center matchmaking metrics ...` Examples: - `asc game-center challenges list --app APP_ID` - `asc game-center activities create --app APP_ID --reference-name "Weekly" --vendor-id com.example.weekly` - `asc game-center matchmaking queues list --app APP_ID` # Flag patterns Common: - `--app`, `--id`, `--output`, `--pretty`, `--limit`, `--next`, `--paginate`, `--confirm` Resource-specific: - `--reference-name`, `--vendor-id`, `--locale`, `--file`, `--rule-set-id` # Output - JSON minified by default - `--pretty` for JSON - `--output table/markdown` for list commands # Detailed TODO - [ ] Add client methods for challenges/activities/groups CRUD + related resources - [ ] Add client methods for matchmaking queues/rule sets/rules/teams/metrics/tests - [ ] Implement CLI subcommands listed above - [ ] Add output helpers as needed - [ ] Add cmdtests + HTTP client tests (mocked) # Acceptance criteria - [ ] Challenges/activities/groups CRUD work - [ ] Matchmaking resources are accessible - [ ] Relationships (achievements/leaderboards) can be updated - [ ] Pagination/`--next` validation works - [ ] JSON-first output preserved # Tests - Flag validation tests - HTTP client tests for list/get/create/update/delete - Output tests for list commands # Implementation notes - Add client methods in `internal/asc/game_center.go` - Add CLI commands in `internal/cli/gamecenter` - Follow patterns from existing achievements/leaderboards commands
kerem closed this issue 2026-02-26 21:33:24 +03:00
Author
Owner

@rudrankriyam commented on GitHub (Jan 30, 2026):

Update:

  • Implemented Game Center parity (challenges, activities, groups, matchmaking) with clients, CLI, outputs, pagination, and cmdtests/HTTP tests; merged via PR #353.
  • Added v2 achievement/leaderboard support for group-scoped creates + v2 get/update/delete; group relationships now support --v2 for achievements/leaderboards.
  • Added validation for group-scoped vendor IDs (must start with grp.) and group/app flag exclusivity.
  • Release tagged as 0.21.0 (workflow triggered by tag).

Notes/limitations observed during live testing:

  • groups achievements|leaderboards set (v1) only accepts IDs already attached to the group. Use v2 create with --group-id and --v2 plus group relationships --v2 to attach.
  • game-center groups list --app ... returned GameCenterDetailsV1 not found for this app; appears server-side. We can add a fallback/list-without-filter if desired.
<!-- gh-comment-id:3826553221 --> @rudrankriyam commented on GitHub (Jan 30, 2026): Update: - Implemented Game Center parity (challenges, activities, groups, matchmaking) with clients, CLI, outputs, pagination, and cmdtests/HTTP tests; merged via PR #353. - Added v2 achievement/leaderboard support for group-scoped creates + v2 get/update/delete; group relationships now support --v2 for achievements/leaderboards. - Added validation for group-scoped vendor IDs (must start with `grp.`) and group/app flag exclusivity. - Release tagged as `0.21.0` (workflow triggered by tag). Notes/limitations observed during live testing: - `groups achievements|leaderboards set` (v1) only accepts IDs already attached to the group. Use v2 create with `--group-id` and `--v2` plus group relationships `--v2` to attach. - `game-center groups list --app ...` returned `GameCenterDetailsV1` not found for this app; appears server-side. We can add a fallback/list-without-filter if desired.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/App-Store-Connect-CLI#101
No description provided.