[GH-ISSUE #322] Parity: App Events relationships and nested media access #95

Closed
opened 2026-02-26 21:33:20 +03:00 by kerem · 3 comments
Owner

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

Overview

Expose remaining App Events relationship and nested media endpoints (mostly read-only) to close small gaps after the main App Events CLI support.

Scope (OpenAPI resources)

  • GET /v1/appEvents/{id}/localizations
  • GET /v1/appEvents/{id}/relationships/localizations
  • GET /v1/appEventLocalizations/{id}/appEventScreenshots
  • GET /v1/appEventLocalizations/{id}/appEventVideoClips
  • Relationship endpoints for screenshots/video clips

Proposed CLI

Top-level group:

  • asc app-events ...

New/expanded subcommands:

  • app-events localizations list --event-id ID (ensure direct endpoint)
  • app-events localizations screenshots list --localization-id ID
  • app-events localizations video-clips list --localization-id ID
  • (optional) app-events relationships get --event-id ID --type localizations

Examples:

  • asc app-events localizations list --event-id EVENT_ID
  • asc app-events localizations screenshots list --localization-id LOC_ID

Flag patterns

Common:

  • --event-id, --localization-id, --output, --pretty

Output

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

Detailed TODO

  • Add client methods for event→localizations and localization→media endpoints
  • Implement nested list commands in app-events localizations
  • Add cmdtests + HTTP client tests (mocked)

Acceptance criteria

  • Event localizations list via event ID works
  • Localization screenshots/video clips list works
  • JSON-first output preserved

Tests

  • Flag validation tests
  • HTTP client tests for list endpoints
  • Output tests for list commands

Implementation notes

  • Add client methods in internal/asc/client_app_events.go
  • Add CLI commands in internal/cli/app_events
  • Follow patterns from existing app-events commands
Originally created by @rudrankriyam on GitHub (Jan 30, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/322 # Overview Expose remaining App Events relationship and nested media endpoints (mostly read-only) to close small gaps after the main App Events CLI support. # Scope (OpenAPI resources) - `GET /v1/appEvents/{id}/localizations` - `GET /v1/appEvents/{id}/relationships/localizations` - `GET /v1/appEventLocalizations/{id}/appEventScreenshots` - `GET /v1/appEventLocalizations/{id}/appEventVideoClips` - Relationship endpoints for screenshots/video clips # Proposed CLI Top-level group: - `asc app-events ...` New/expanded subcommands: - `app-events localizations list --event-id ID` (ensure direct endpoint) - `app-events localizations screenshots list --localization-id ID` - `app-events localizations video-clips list --localization-id ID` - (optional) `app-events relationships get --event-id ID --type localizations` Examples: - `asc app-events localizations list --event-id EVENT_ID` - `asc app-events localizations screenshots list --localization-id LOC_ID` # Flag patterns Common: - `--event-id`, `--localization-id`, `--output`, `--pretty` # Output - JSON minified by default - `--pretty` for JSON - `--output table/markdown` for list commands # Detailed TODO - [ ] Add client methods for event→localizations and localization→media endpoints - [ ] Implement nested list commands in `app-events localizations` - [ ] Add cmdtests + HTTP client tests (mocked) # Acceptance criteria - [ ] Event localizations list via event ID works - [ ] Localization screenshots/video clips list works - [ ] JSON-first output preserved # Tests - Flag validation tests - HTTP client tests for list endpoints - Output tests for list commands # Implementation notes - Add client methods in `internal/asc/client_app_events.go` - Add CLI commands in `internal/cli/app_events` - Follow patterns from existing app-events commands
kerem closed this issue 2026-02-26 21:33:21 +03:00
Author
Owner

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

@cursor Please implement per issue description. No live credentials; use mocked tests. Run make build/lint/test and open a PR when green. Keep JSON-first output and explicit flags; no interactive prompts.

<!-- gh-comment-id:3822603160 --> @rudrankriyam commented on GitHub (Jan 30, 2026): @cursor Please implement per issue description. No live credentials; use mocked tests. Run make build/lint/test and open a PR when green. Keep JSON-first output and explicit flags; no interactive prompts.
Author
Owner

@cursor[bot] commented on GitHub (Jan 30, 2026):

Tests (mocked, no live creds):

  • make build && make lint && make test

Walkthrough artifact:

  • Recorded CLI help demo for the new commands: /opt/cursor/artifacts/app_events_localizations_relationships_help/recording_demo.mp4 (shows the new list/relationships subcommands and flags).

View PR
Open in Cursor Open in Web

<!-- gh-comment-id:3822603524 --> @cursor[bot] commented on GitHub (Jan 30, 2026): - I added client/CLI support for App Events relationships and nested localization media lists (screenshots/video clips), plus relationships commands for localizations/screenshots/video clips, and updated README with App Events usage examples. - I added mocked client tests and cmdtests for flag validation around the new commands/endpoints; branch is pushed and ready for PR: https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/new/cursor/app-events-nested-media-60fd **Tests (mocked, no live creds):** - `make build && make lint && make test` **Walkthrough artifact:** - Recorded CLI help demo for the new commands: `/opt/cursor/artifacts/app_events_localizations_relationships_help/recording_demo.mp4` (shows the new list/relationships subcommands and flags). <a href="https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/335"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/view-pr-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/view-pr-light.png"><img alt="View PR" width="86" height="28" src="https://cursor.com/assets/images/view-pr-light.png"></picture></a> <a href="https://cursor.com/background-agent?bcId=bc-72d8d6a6-9a47-4e64-a40c-91e6055b59f5"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"><img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"></picture></a>&nbsp;<a href="https://cursor.com/agents?id=bc-72d8d6a6-9a47-4e64-a40c-91e6055b59f5"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"><img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"></picture></a>
Author
Owner

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

Fixed by #335 and top-level relationship additions/tests in #341. Included in release 0.20.2.

<!-- gh-comment-id:3825187857 --> @rudrankriyam commented on GitHub (Jan 30, 2026): Fixed by #335 and top-level relationship additions/tests in #341. Included in release 0.20.2.
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#95
No description provided.