mirror of
https://github.com/rudrankriyam/App-Store-Connect-CLI.git
synced 2026-04-25 23:55:51 +03:00
[GH-ISSUE #200] Add App Store Version Promotions CLI support #61
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#61
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 @rudrankriyam on GitHub (Jan 26, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/200
Overview
Add CLI support for App Store Version Promotions to apply an experiment treatment or promote a version on the App Store product page.
Docs (API)
Scope (Endpoints)
Docs currently list only:
POST /v1/appStoreVersionPromotionsDiscovery step: confirm if GET/DELETE endpoints exist in the OpenAPI spec. If they do, implement them; if not, implement create only.
Proposed CLI
Top‑level group:
asc versions promotions <subcommand> [flags]Subcommands:
versions promotions create --version-id VERSION_ID [--treatment-id TREATMENT_ID]versions promotions get --id PROMOTION_IDversions promotions delete --id PROMOTION_ID --confirmFlags
Common:
--output json|table|markdown--prettyCreate:
--version-id(required)--treatment-id(if required by API; verify in OpenAPI)Delete:
--confirmrequired (if delete is supported)Output
Acceptance Criteria
asc versions promotions --helpavailableTests
Manual Test Plan (using real apps)
asc apps --paginate→APP_IDasc versions list --app APP_ID --paginate→VERSION_IDasc versions promotions create --version-id VERSION_ID(or with--treatment-idif required)asc versions promotions get --id PROMOTION_IDasc versions promotions delete --id PROMOTION_ID --confirmImplementation Notes
internal/asc/client_promotions.goand output helpers only if GET/list are supported.versions.@rudrankriyam commented on GitHub (Jan 27, 2026):
@cursor Please implement issue #200 and run tests using ASC auth values from the environment (ASC_*). Test all endpoints you add (POST /v1/appStoreVersionPromotions and any GET/DELETE if added). When you open the PR, update the PR description to include the test results you ran.
@cursor[bot] commented on GitHub (Jan 27, 2026):
Summary:
asc versions promotions create(create-only per API spec), wired the client POST/v1/appStoreVersionPromotionswith optional treatment relationship, added table/markdown output for the create result, and documented the create-only support in the README and help text.Tests:
go test ./...ASC_BYPASS_KEYCHAIN=1 go run ./main.go apps --paginateandgo run ./main.go apps --paginateboth failed with “missing authentication”. I also confirmedASC_*env vars are unset and/home/ubuntu/.asc/config.jsonis empty, so I couldn’t hit the live POST endpoint yet.Artifacts:
asc versions promotions --helpoutput and create-only note).Please remember to update the PR description with the tests above; once ASC_* credentials are available, I can rerun the live POST test.