[GH-ISSUE #403] Parity: TestFlight app metrics and crash logs by ID #115

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

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

Overview

Add app-level beta tester usage metrics and direct beta crash log lookup by ID.

Scope (OpenAPI resources)

  • /v1/apps/{id}/metrics/betaTesterUsages
  • /v1/betaCrashLogs/{id}

Proposed CLI

  • asc testflight metrics beta-tester-usages --app \"APP_ID\" [--period P7D|P30D|P90D|P365D]
  • asc testflight beta-crash-logs get --id \"CRASH_LOG_ID\"

Examples:

  • asc testflight metrics beta-tester-usages --app \"APP_ID\" --period P30D
  • asc testflight beta-crash-logs get --id \"CRASH_LOG_ID\"

Flag patterns

Common: --app, --id, --output, --pretty, --limit, --next, --paginate

Output

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

Detailed TODO

  • Add client methods in internal/asc for app beta tester usages + beta crash log get-by-id
  • Add testflight metrics beta-tester-usages subcommand
  • Add testflight beta-crash-logs get subcommand
  • Add HTTP client tests (mocked)
  • Add CLI cmdtests for flag validation + output

Acceptance criteria

  • App-level beta tester usage metrics accessible via CLI
  • Beta crash log accessible by ID

Tests

  • Flag validation tests
  • HTTP client tests for each endpoint

Implementation notes

  • Reuse existing beta tester usage period validation helpers

References

  • docs/openapi/paths.txt
  • docs/openapi/latest.json

@cursor

Originally created by @rudrankriyam on GitHub (Feb 2, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/403 # Overview Add app-level beta tester usage metrics and direct beta crash log lookup by ID. # Scope (OpenAPI resources) - `/v1/apps/{id}/metrics/betaTesterUsages` - `/v1/betaCrashLogs/{id}` # Proposed CLI - `asc testflight metrics beta-tester-usages --app \"APP_ID\" [--period P7D|P30D|P90D|P365D]` - `asc testflight beta-crash-logs get --id \"CRASH_LOG_ID\"` Examples: - `asc testflight metrics beta-tester-usages --app \"APP_ID\" --period P30D` - `asc testflight beta-crash-logs get --id \"CRASH_LOG_ID\"` # Flag patterns Common: `--app`, `--id`, `--output`, `--pretty`, `--limit`, `--next`, `--paginate` # Output - JSON minified by default - `--pretty` for JSON - `--output table/markdown` for list commands # Detailed TODO - [ ] Add client methods in `internal/asc` for app beta tester usages + beta crash log get-by-id - [ ] Add `testflight metrics beta-tester-usages` subcommand - [ ] Add `testflight beta-crash-logs get` subcommand - [ ] Add HTTP client tests (mocked) - [ ] Add CLI cmdtests for flag validation + output # Acceptance criteria - [ ] App-level beta tester usage metrics accessible via CLI - [ ] Beta crash log accessible by ID # Tests - Flag validation tests - HTTP client tests for each endpoint # Implementation notes - Reuse existing beta tester usage period validation helpers # References - `docs/openapi/paths.txt` - `docs/openapi/latest.json` @cursor
kerem closed this issue 2026-02-26 21:33:32 +03:00
Author
Owner

@rudrankriyam commented on GitHub (Feb 2, 2026):

@cursor implement this

<!-- gh-comment-id:3836616197 --> @rudrankriyam commented on GitHub (Feb 2, 2026): @cursor implement this
Author
Owner

@cursor[bot] commented on GitHub (Feb 2, 2026):

Summary:

  • I added the app-level TestFlight metrics command (testflight metrics beta-tester-usages) with period/limit/next/paginate handling plus raw pagination aggregation, and wired it into the metrics group/examples.
// ... existing code ...
  • I introduced testflight beta-crash-logs get to fetch crash logs by ID and hooked it into the TestFlight command tree.
// ... existing code ...

Tests: make test (full suite).

Walkthrough artifact: /opt/cursor/artifacts/make_test_output.txt (full make test output).

View PR
Open in Cursor Open in Web

<!-- gh-comment-id:3836616583 --> @cursor[bot] commented on GitHub (Feb 2, 2026): Summary: - I added the app-level TestFlight metrics command (`testflight metrics beta-tester-usages`) with period/limit/next/paginate handling plus raw pagination aggregation, and wired it into the metrics group/examples. ```22:104:/workspace/internal/cli/testflight/metrics_beta_tester_usages.go // ... existing code ... ``` - I introduced `testflight beta-crash-logs get` to fetch crash logs by ID and hooked it into the TestFlight command tree. ```13:76:/workspace/internal/cli/testflight/beta_crash_logs.go // ... existing code ... ``` Tests: `make test` (full suite). Walkthrough artifact: `/opt/cursor/artifacts/make_test_output.txt` (full `make test` output). <a href="https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/406"><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-16080374-900e-466a-97c4-29a19635e6a6"><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-16080374-900e-466a-97c4-29a19635e6a6"><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 (Feb 2, 2026):

Completed in PR #406 (merged) + direct commit b250067.

Added:

  • asc testflight metrics beta-tester-usages --app "APP_ID" [--period P7D|P30D|P90D|P365D] [--group-by betaTesters] [--filter-tester "TESTER_ID"]
  • asc testflight beta-crash-logs get --id "CRASH_LOG_ID"

Note: Added --group-by and --filter-tester flags per OpenAPI spec requirements.

<!-- gh-comment-id:3837449125 --> @rudrankriyam commented on GitHub (Feb 2, 2026): Completed in PR #406 (merged) + direct commit b250067. Added: - `asc testflight metrics beta-tester-usages --app "APP_ID" [--period P7D|P30D|P90D|P365D] [--group-by betaTesters] [--filter-tester "TESTER_ID"]` - `asc testflight beta-crash-logs get --id "CRASH_LOG_ID"` Note: Added --group-by and --filter-tester flags per OpenAPI spec requirements.
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#115
No description provided.