[PR #91] [MERGED] Add builds latest command #276

Closed
opened 2026-02-26 21:34:24 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/91
Author: @rudrankriyam
Created: 1/24/2026
Status: Merged
Merged: 1/24/2026
Merged by: @rudrankriyam

Base: mainHead: issue/83-builds-latest


📝 Commits (9)

  • f649012 Add builds latest command for fetching most recent build
  • 825d4ac Fix platform filtering in builds latest command
  • c0a397d Fix builds latest platform filtering
  • 7bca981 Fix pre-release version limit logic
  • 2a9b21f Fix platform-only filtering to paginate all preReleaseVersions
  • b4be3c9 Fix builds latest platform filtering
  • f905419 Fix builds latest pre-release version pagination
  • eec0a3a Merge pull request #92 from rudrankriyam/cursor/builds-latest-platform-filter-b425
  • 0c8c6c9 Merge pull request #93 from rudrankriyam/cursor/version-filter-platform-limit-ad86

📊 Changes

5 files changed (+487 additions, -3 deletions)

View changed files

cmd/builds_latest.go (+239 -0)
cmd/builds_latest_test.go (+187 -0)
📝 cmd/commands.go (+2 -0)
📝 internal/asc/client.go (+17 -3)
📝 internal/asc/client_http_test.go (+42 -0)

📄 Description

Summary

Adds a convenience command to fetch the latest build for an app, following the AI-agent friendly philosophy.

Closes #83

New Command

# Get latest build (JSON output for AI agents)
asc builds latest --app "123456789"

# Get latest build for a specific version
asc builds latest --app "123456789" --version "1.2.3"

# Filter by platform
asc builds latest --app "123456789" --platform IOS

# Human-readable output
asc builds latest --app "123456789" --output table

Design Decisions (AI-Agent Friendly)

Principle Implementation
Returns full metadata Single build object with all attributes (version, uploadedDate, processingState, etc.)
No business logic in CLI No --increment or --numeric flags - agent handles that
Follows existing patterns Uses --output not --format, same flag names as other commands
Single command No fragmentation into separate testflight/appstore commands

Changes

New Files

  • cmd/builds_latest.go - Command implementation
  • cmd/builds_latest_test.go - CLI validation tests

Modified Files

  • cmd/commands.go - Added BuildsLatestCommand() to builds subcommands
  • internal/asc/client.go - Added WithBuildsPreReleaseVersion option for version filtering
  • internal/asc/client_http_test.go - Added test for preReleaseVersion filter

Test plan

  • CLI validation tests (missing app, invalid platform, valid platforms)
  • Flag definitions test
  • ASC_APP_ID env var support test
  • HTTP client test for preReleaseVersion filter
  • make test passes
  • go vet passes

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/91 **Author:** [@rudrankriyam](https://github.com/rudrankriyam) **Created:** 1/24/2026 **Status:** ✅ Merged **Merged:** 1/24/2026 **Merged by:** [@rudrankriyam](https://github.com/rudrankriyam) **Base:** `main` ← **Head:** `issue/83-builds-latest` --- ### 📝 Commits (9) - [`f649012`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/f649012fdb8586d51ca1a3f2e9bd3bf10df2d391) Add builds latest command for fetching most recent build - [`825d4ac`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/825d4ac1f246c4236788da121fed28c6285aeaa8) Fix platform filtering in builds latest command - [`c0a397d`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/c0a397d9043956c6832e69ac0412df6084ca25d0) Fix builds latest platform filtering - [`7bca981`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/7bca98119606011ce94da3fa64e09fca7a1ea587) Fix pre-release version limit logic - [`2a9b21f`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/2a9b21fcdbfd00e98ae44a7c79f1e4282e8bd336) Fix platform-only filtering to paginate all preReleaseVersions - [`b4be3c9`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/b4be3c95cd433bc974b604b4927b4d7bbe1ea074) Fix builds latest platform filtering - [`f905419`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/f9054195af229aabe3e04a2f7fd919549cd2c6c6) Fix builds latest pre-release version pagination - [`eec0a3a`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/eec0a3add57be569187b791dae03c07c07eac771) Merge pull request #92 from rudrankriyam/cursor/builds-latest-platform-filter-b425 - [`0c8c6c9`](https://github.com/rudrankriyam/App-Store-Connect-CLI/commit/0c8c6c9d08dc1d0f3ce1853a65cba329ca7143f1) Merge pull request #93 from rudrankriyam/cursor/version-filter-platform-limit-ad86 ### 📊 Changes **5 files changed** (+487 additions, -3 deletions) <details> <summary>View changed files</summary> ➕ `cmd/builds_latest.go` (+239 -0) ➕ `cmd/builds_latest_test.go` (+187 -0) 📝 `cmd/commands.go` (+2 -0) 📝 `internal/asc/client.go` (+17 -3) 📝 `internal/asc/client_http_test.go` (+42 -0) </details> ### 📄 Description ## Summary Adds a convenience command to fetch the latest build for an app, following the AI-agent friendly philosophy. Closes #83 ## New Command ```bash # Get latest build (JSON output for AI agents) asc builds latest --app "123456789" # Get latest build for a specific version asc builds latest --app "123456789" --version "1.2.3" # Filter by platform asc builds latest --app "123456789" --platform IOS # Human-readable output asc builds latest --app "123456789" --output table ``` ## Design Decisions (AI-Agent Friendly) | Principle | Implementation | |-----------|----------------| | Returns full metadata | Single build object with all attributes (version, uploadedDate, processingState, etc.) | | No business logic in CLI | No `--increment` or `--numeric` flags - agent handles that | | Follows existing patterns | Uses `--output` not `--format`, same flag names as other commands | | Single command | No fragmentation into separate testflight/appstore commands | ## Changes ### New Files - `cmd/builds_latest.go` - Command implementation - `cmd/builds_latest_test.go` - CLI validation tests ### Modified Files - `cmd/commands.go` - Added `BuildsLatestCommand()` to builds subcommands - `internal/asc/client.go` - Added `WithBuildsPreReleaseVersion` option for version filtering - `internal/asc/client_http_test.go` - Added test for preReleaseVersion filter ## Test plan - [x] CLI validation tests (missing app, invalid platform, valid platforms) - [x] Flag definitions test - [x] ASC_APP_ID env var support test - [x] HTTP client test for preReleaseVersion filter - [x] `make test` passes - [x] `go vet` passes --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 21:34:24 +03:00
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#276
No description provided.