mirror of
https://github.com/rudrankriyam/App-Store-Connect-CLI.git
synced 2026-04-25 07:35:48 +03:00
[GH-ISSUE #468] Parity: Bundle ID capability update endpoint (PATCH) #130
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#130
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 (Feb 10, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/468
Overview
Add parity support for updating an existing bundle ID capability.
Scope (OpenAPI resources)
PATCH /v1/bundleIdCapabilities/{id}Current state
Current capability support includes:
Update/patch for an existing capability is still missing.
Proposed CLI
Add a dedicated update command:
asc bundle-ids capabilities update --id "CAPABILITY_ID" --settings '[{"key":"ICLOUD_VERSION","options":[{"key":"XCODE_13","enabled":true}]}]'Optional (if API schema supports it safely):
--capabilityfor capability type updatesExamples:
asc bundle-ids capabilities update --id "CAPABILITY_ID" --settings '[{"key":"ICLOUD_VERSION","options":[{"key":"XCODE_13","enabled":true}]}]'asc bundle-ids capabilities update --id "CAPABILITY_ID" --output tableFlag patterns
Common:
--id,--settings,--output,--prettyValidation rules:
--idis required--settingsmust be valid JSON arrayDetailed TODO
internal/asc/signing.go.internal/asc/client_signing.go:UpdateBundleIDCapability(ctx, capabilityID, attrs)->PATCH /v1/bundleIdCapabilities/{id}internal/cli/bundleids/bundle_ids_capabilities.go:BundleIDsCapabilitiesUpdateCommand()Acceptance criteria
make format,make lint, andmake testpass.Tests
PATCH /v1/bundleIdCapabilities/{id}with payload assertion.--idvalidation.--settingsJSON.Implementation notes
PATCH) for structure and tests.References
docs/openapi/paths.txtdocs/openapi/latest.jsoninternal/asc/client_signing.gointernal/asc/signing.gointernal/cli/bundleids/bundle_ids_capabilities.go@rudrankriyam commented on GitHub (Feb 10, 2026):
@cursor Please implement this issue end-to-end.
What to build
Add update support for existing bundle ID capabilities.
Endpoint to add
PATCH /v1/bundleIdCapabilities/{id}Implementation plan
internal/asc/signing.go)internal/asc/client_signing.go)UpdateBundleIDCapability(ctx, capabilityID, attrs)/v1/bundleIdCapabilities/{id}BundleIDCapabilityResponse.internal/cli/bundleids/bundle_ids_capabilities.go)asc bundle-ids capabilities update --id "CAPABILITY_ID" --settings 'JSON'--idrequired--settingsJSON should return usage error (exit code 2)BundleIDsCapabilitiesCommand()subcommands list.New tests to write
A) Client HTTP tests (
internal/asc/client_http_test.go)TestUpdateBundleIDCapability_UsesPatchPathPATCH/v1/bundleIdCapabilities/{id}bundleIdCapabilitiesB) CLI cmdtests (new file)
internal/cli/cmdtest/bundle_ids_capabilities_update_test.goAdd test cases:
--id-> usage error--settingsJSON -> usage errorC) Command/help coverage
asc bundle-ids capabilities --helpoutput and has examples.How to test locally
Run exactly:
make formatmake lintmake testTargeted tests:
go test ./internal/asc -run UpdateBundleIDCapabilitygo test ./internal/cli/cmdtest -run BundleID.*Capabilities.*UpdateDone criteria
format,lint,test).@cursor[bot] commented on GitHub (Feb 10, 2026):
Implementation is complete. Here's a summary of what was done:
Types (
internal/asc/signing.go):BundleIDCapabilityUpdateAttributeswithcapabilityTypeandsettingsfields (bothomitemptyfor sparse payloads)BundleIDCapabilityUpdateDataenvelope with type, ID, and optional attributesBundleIDCapabilityUpdateRequestwrapperClient (
internal/asc/client_signing.go):UpdateBundleIDCapability(ctx, capabilityID, attrs)method usingPATCH /v1/bundleIdCapabilities/{id}, returning*BundleIDCapabilityResponseCLI (
internal/cli/bundleids/bundle_ids_capabilities.go):BundleIDsCapabilitiesUpdateCommand()with flags:--id,--capability,--settings,--output,--pretty--idrequired, at least one update field required (--capabilityor--settings), invalid--settingsJSON returns usage error (exit code 2)BundleIDsCapabilitiesCommand()subcommands and updated help examplesTests:
TestUpdateBundleIDCapability_UsesPatchPath- asserts PATCH method, correct path, request body type/shape, and settings payload--id, no update fields, invalid settings JSON, success path with settings, success path with capability typeVerification:
make format,make lint, andmake testall pass.@rudrankriyam commented on GitHub (Feb 10, 2026):
Implemented and merged in #471.
Bundle ID capability PATCH parity is now covered in client and CLI, with audit fixes and tests.
Closing as complete.