mirror of
https://github.com/rudrankriyam/App-Store-Connect-CLI.git
synced 2026-04-25 23:55:51 +03:00
[GH-ISSUE #761] builds add-groups: surface clear error for internal groups instead of opaque API message #204
Labels
No labels
bug
bug
documentation
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/App-Store-Connect-CLI#204
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mithileshchellappan on GitHub (Feb 24, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/761
Summary
Improve the error message when
asc builds add-groupsis called with an internal beta group ID, which Apple does not allow.Problem
Internal TestFlight groups automatically receive all builds — Apple's API does not allow manually adding builds to internal groups. When an agent attempts this:
The error returned is:
While this does mention "internal group", the error is a raw pass-through from the ASC API. For an agent-first CLI, this could be improved with:
--skip-internalflag — gracefully skip internal groups in mixed group listsCurrent Behavior
When passing a comma-separated list of group IDs (mix of internal and external), the entire operation fails if any group is internal. The agent must then filter groups itself, requiring an extra
beta-groups getcall per group to check theisInternalGroupattribute.Proposal
Better error message
New flag:
--skip-internalBehavior:
isInternalGroup == trueSkipped internal group "Friends & Family" (builds are auto-distributed)Scope
internal/cli/builds/builds_add_groups.go: add--skip-internalflag, pre-filter logic, improved error formattingAcceptance Criteria
--skip-internal: error message includes actionable hint about internal groups--skip-internal: internal groups are silently skipped, external groups are added--skip-internaland only internal groups: exits 0 with informational stderr messageASC_BYPASS_KEYCHAIN=1Use Case
Agents often discover group IDs dynamically (e.g., "add to all groups for this app"). Without
--skip-internal, the agent needs to pre-filter groups itself, adding complexity and extra API calls to what should be a single command.