[GH-ISSUE #242] Add Background Assets CLI support (assets, versions, upload files) #70

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

Originally created by @rudrankriyam on GitHub (Jan 28, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/242

Overview

Add CLI support for Background Assets: asset creation, version management, and upload file handling using the App Store Connect API. This enables full management of background assets from the CLI with JSON-first output and explicit flags.

Scope

Primary resources from the OpenAPI spec:

  • backgroundAssets (create/get/update)
  • backgroundAssetVersions (create/get)
  • backgroundAssetUploadFiles (create/get/update)

Proposed CLI

Top-level group:

  • asc background-assets <subcommand> [flags]

Subcommands:

  • background-assets list|get|create|update (for backgroundAssets)
  • background-assets versions list|get|create (for backgroundAssetVersions)
  • background-assets upload-files list|get|create|update (for backgroundAssetUploadFiles)

Examples:

  • asc background-assets list --app APP_ID
  • asc background-assets create --app APP_ID --name "Background Asset 1"
  • asc background-assets versions create --background-asset-id ASSET_ID
  • asc background-assets upload-files create --version-id VERSION_ID --file asset.zip

Flag patterns

Common:

  • --app, --output, --pretty, --limit, --next, --paginate
  • --confirm for destructive operations

Resource-specific examples:

  • --background-asset-id, --version-id, --upload-file-id
  • --name, --file (for uploads)

Output

  • JSON minified by default
  • --pretty for JSON
  • --output table/markdown for list commands

Acceptance criteria

  • Commands appear in asc --help and asc background-assets --help
  • CRUD works for background assets (create/get/update)
  • Create/get works for background asset versions
  • Create/get/update works for background asset upload files
  • Pagination flags work (--paginate, --next, --limit)
  • JSON-first output matches existing conventions
  • Table and markdown output for list commands

Tests

  • Unit tests for command flag validation and error cases
  • HTTP client tests for list/get/create/update
  • Output tests for table/markdown
  • Upload tests for file resources using existing upload helpers

Implementation notes

  • Add cmd/background_assets*.go and internal/asc/client_background_assets*.go
  • Add output helpers in internal/asc/output_background_assets.go
  • Register command in cmd/root.go
  • Add resource type constants in internal/asc/client_types.go
  • Follow patterns in cmd/apps.go, cmd/assets.go, and output helpers in internal/asc/output_*
Originally created by @rudrankriyam on GitHub (Jan 28, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/242 # Overview Add CLI support for Background Assets: asset creation, version management, and upload file handling using the App Store Connect API. This enables full management of background assets from the CLI with JSON-first output and explicit flags. # Scope Primary resources from the OpenAPI spec: - `backgroundAssets` (create/get/update) - `backgroundAssetVersions` (create/get) - `backgroundAssetUploadFiles` (create/get/update) # Proposed CLI Top-level group: - `asc background-assets <subcommand> [flags]` Subcommands: - `background-assets list|get|create|update` (for `backgroundAssets`) - `background-assets versions list|get|create` (for `backgroundAssetVersions`) - `background-assets upload-files list|get|create|update` (for `backgroundAssetUploadFiles`) Examples: - `asc background-assets list --app APP_ID` - `asc background-assets create --app APP_ID --name "Background Asset 1"` - `asc background-assets versions create --background-asset-id ASSET_ID` - `asc background-assets upload-files create --version-id VERSION_ID --file asset.zip` # Flag patterns Common: - `--app`, `--output`, `--pretty`, `--limit`, `--next`, `--paginate` - `--confirm` for destructive operations Resource-specific examples: - `--background-asset-id`, `--version-id`, `--upload-file-id` - `--name`, `--file` (for uploads) # Output - JSON minified by default - `--pretty` for JSON - `--output table/markdown` for list commands # Acceptance criteria - [ ] Commands appear in `asc --help` and `asc background-assets --help` - [ ] CRUD works for background assets (create/get/update) - [ ] Create/get works for background asset versions - [ ] Create/get/update works for background asset upload files - [ ] Pagination flags work (`--paginate`, `--next`, `--limit`) - [ ] JSON-first output matches existing conventions - [ ] Table and markdown output for list commands # Tests - Unit tests for command flag validation and error cases - HTTP client tests for list/get/create/update - Output tests for table/markdown - Upload tests for file resources using existing upload helpers # Implementation notes - Add `cmd/background_assets*.go` and `internal/asc/client_background_assets*.go` - Add output helpers in `internal/asc/output_background_assets.go` - Register command in `cmd/root.go` - Add resource type constants in `internal/asc/client_types.go` - Follow patterns in `cmd/apps.go`, `cmd/assets.go`, and output helpers in `internal/asc/output_*`
kerem closed this issue 2026-02-26 21:33:10 +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#70
No description provided.