Asc Cli Usage

Automate App Store Connect operations using command line tools for efficient app management and deployment

Asc Cli Usage is a community skill for using the App Store Connect command-line interface, covering API key authentication, app metadata queries, build management commands, TestFlight operations, and scripted workflows for App Store Connect automation.

What Is This?

Overview

Asc Cli Usage provides patterns for interacting with App Store Connect through command-line tools. It covers API key authentication that configures JWT tokens from App Store Connect API keys for CLI access, app metadata queries that retrieve app information, version details, and submission status, build management commands that list, filter, and manage uploaded builds and their processing states, TestFlight operations that assign builds to beta groups and manage tester access, and scripted workflows that chain CLI commands into automated release pipelines. The skill enables iOS teams to manage App Store Connect from the terminal and CI environments, replacing repetitive manual steps with repeatable, auditable commands.

Who Should Use This

This skill serves iOS developers managing apps through command-line workflows instead of the web dashboard, DevOps engineers scripting App Store Connect operations in CI pipelines, and release managers automating repetitive submission tasks such as distributing nightly builds to internal testers or polling for processing completion.

Why Use It?

Problems It Solves

The App Store Connect web dashboard requires manual navigation for each operation. Automating submissions and metadata updates needs API integration that CLI tools simplify. Querying build status and app metadata across multiple apps is slow through the web interface, particularly when managing a portfolio of several titles simultaneously. CI pipelines need scriptable access to App Store Connect for automated deployments.

Core Highlights

JWT authentication generates tokens from API key files for secure CLI access. App query commands retrieve metadata, versions, and status in machine-readable format. Build commands list and filter builds by version, state, and upload date. TestFlight commands manage beta groups and tester assignments.

How to Use It?

Basic Usage

export ASC_KEY_ID="ABC123"
export ASC_ISSUER_ID=\
  "def456-789"
export ASC_PRIVATE_KEY=\
  "$(cat AuthKey.p8)"

asc apps list \
  --fields name,bundleId,sku

asc apps get APP_ID \
  --include appStoreVersions

asc builds list \
  --filter-app APP_ID \
  --filter-state VALID \
  --sort -uploadedDate \
  --limit 10

asc builds get BUILD_ID \
  --include \
    buildBetaDetail,\
    betaBuildLocalizations

Real-World Examples

#!/bin/bash
set -euo pipefail

APP_ID="$1"
VERSION="$2"
BUILD_NUM="$3"

echo "Waiting for build"
echo "  processing..."

while true; do
  STATE=$(asc builds list \
    --filter-app "$APP_ID" \
    --filter-version \
      "$VERSION" \
    --json \
    | jq -r \
      ".[] | select(\
        .buildNumber \
        == \"$BUILD_NUM\") \
        | .processingState")

  case "$STATE" in
    VALID)
      echo "Build ready"
      break
      ;;
    FAILED)
      echo "Build failed"
      exit 1
      ;;
    *)
      echo "Processing..."
      sleep 60
      ;;
  esac
done

BUILD_ID=$(asc builds list \
  --filter-app "$APP_ID" \
  --filter-version \
    "$VERSION" \
  --json \
  | jq -r ".[0].id")

asc builds distribute \
  "$BUILD_ID" \
  --group "Internal Testers"

echo "Distributed to"
echo "  TestFlight"

Advanced Tips

Use JSON output format with jq for parsing CLI results in automated scripts. Cache JWT tokens for their 20-minute validity period to avoid regenerating on every command, which reduces latency in scripts that issue many sequential requests. Combine CLI commands with xcrun altool or xcodebuild for end-to-end build and upload automation. When scripting across multiple apps, store each app's identifier in a configuration file and iterate with a loop rather than duplicating command invocations.

When to Use It?

Use Cases

Script build status monitoring and automatic TestFlight distribution in a CI pipeline. Query all apps and their current submission status from the terminal. Automate metadata updates and screenshot uploads for app version submissions.

Related Topics

App Store Connect, CLI automation, iOS deployment, TestFlight management, and CI/CD scripting.

Important Notes

Requirements

App Store Connect API key downloaded as a .p8 file. Key ID and Issuer ID from the App Store Connect API keys page. CLI tool installed with access to the App Store Connect REST API.

Usage Recommendations

Do: store API key credentials securely in CI secrets rather than in repository files. Use the JSON output flag for machine-readable results in scripts. Implement error handling for API rate limits and transient failures.

Don't: commit API private keys to version control repositories. Run destructive operations like build deletion without confirmation in automated scripts. Rely on screen-scraping the web dashboard when CLI commands are available.

Limitations

Not all App Store Connect features are available through the CLI or API. API rate limits restrict the number of requests per minute during heavy automation. JWT tokens expire after 20 minutes requiring regeneration for long-running scripts.