[GH-ISSUE #759] builds list: add --processing-state filter to include PROCESSING builds #203

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

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

Summary

Add a --processing-state filter flag to asc builds list so agents and CI pipelines can discover builds that are still in the PROCESSING state, not just VALID ones.

Problem

After uploading a build via xcodebuild -exportArchive (which handles automatic signing better than standalone upload tools), the build enters a PROCESSING state on App Store Connect. During this window (typically 1–5 minutes), asc builds list returns no results for that build number because the default listing only shows VALID builds.

This forces agents into blind polling loops with arbitrary sleep intervals:

# Current workaround — blind polling
sleep 60
asc builds list --app APP_ID --limit 3  # hope it shows up
sleep 60
asc builds list --app APP_ID --limit 3  # try again...

The only way I found to discover a processing build was through asc pre-release-versions builds list --id VERSION_ID, which is non-obvious and requires knowing the pre-release version ID first.

Proposal

Add a filter flag to asc builds list:

# Show all builds regardless of processing state
asc builds list --app APP_ID --processing-state all

# Show only processing builds
asc builds list --app APP_ID --processing-state PROCESSING

# Default behavior unchanged (VALID only)
asc builds list --app APP_ID

Supported values

Value Behavior
VALID Current default — only fully processed builds
PROCESSING Only builds currently being processed
FAILED Only builds that failed processing
INVALID Only builds marked invalid
all All builds regardless of state

API Support

The App Store Connect API /v1/builds supports filter[processingState] with values PROCESSING, FAILED, INVALID, VALID. This is a server-side filter that maps directly to a query parameter.

Scope

  • internal/asc: add processingState filter option to builds query parameters
  • internal/cli/builds/builds_list.go: thread --processing-state flag through list command
  • Tests: CLI flag parsing, valid/invalid value handling, output expectations

Acceptance Criteria

  • asc builds list --processing-state PROCESSING returns builds currently being processed
  • asc builds list --processing-state all returns builds in any processing state
  • Default behavior (no flag) remains unchanged — only VALID builds returned
  • Help text includes new flag with examples
  • Tests pass with ASC_BYPASS_KEYCHAIN=1

Use Case

This is critical for agent-driven CI/CD workflows where the archive → upload → distribute pipeline is fully automated. Without visibility into processing state, agents cannot deterministically wait for a build to become available for TestFlight distribution.

Originally created by @mithileshchellappan on GitHub (Feb 24, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/759 ## Summary Add a `--processing-state` filter flag to `asc builds list` so agents and CI pipelines can discover builds that are still in the `PROCESSING` state, not just `VALID` ones. ## Problem After uploading a build via `xcodebuild -exportArchive` (which handles automatic signing better than standalone upload tools), the build enters a `PROCESSING` state on App Store Connect. During this window (typically 1–5 minutes), `asc builds list` returns no results for that build number because the default listing only shows `VALID` builds. This forces agents into blind polling loops with arbitrary `sleep` intervals: ```bash # Current workaround — blind polling sleep 60 asc builds list --app APP_ID --limit 3 # hope it shows up sleep 60 asc builds list --app APP_ID --limit 3 # try again... ``` The only way I found to discover a processing build was through `asc pre-release-versions builds list --id VERSION_ID`, which is non-obvious and requires knowing the pre-release version ID first. ## Proposal Add a filter flag to `asc builds list`: ```bash # Show all builds regardless of processing state asc builds list --app APP_ID --processing-state all # Show only processing builds asc builds list --app APP_ID --processing-state PROCESSING # Default behavior unchanged (VALID only) asc builds list --app APP_ID ``` ### Supported values | Value | Behavior | |-------|----------| | `VALID` | Current default — only fully processed builds | | `PROCESSING` | Only builds currently being processed | | `FAILED` | Only builds that failed processing | | `INVALID` | Only builds marked invalid | | `all` | All builds regardless of state | ## API Support The App Store Connect API `/v1/builds` supports `filter[processingState]` with values `PROCESSING`, `FAILED`, `INVALID`, `VALID`. This is a server-side filter that maps directly to a query parameter. ## Scope - `internal/asc`: add `processingState` filter option to builds query parameters - `internal/cli/builds/builds_list.go`: thread `--processing-state` flag through list command - Tests: CLI flag parsing, valid/invalid value handling, output expectations ## Acceptance Criteria - `asc builds list --processing-state PROCESSING` returns builds currently being processed - `asc builds list --processing-state all` returns builds in any processing state - Default behavior (no flag) remains unchanged — only `VALID` builds returned - Help text includes new flag with examples - Tests pass with `ASC_BYPASS_KEYCHAIN=1` ## Use Case This is critical for agent-driven CI/CD workflows where the archive → upload → distribute pipeline is fully automated. Without visibility into processing state, agents cannot deterministically wait for a build to become available for TestFlight distribution.
kerem closed this issue 2026-02-26 21:34:00 +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#203
No description provided.