/appstoreconnect-cli

An easy to use command-line tool for interacting with the Apple AppStore Connect API

Primary LanguageSwiftMIT LicenseMIT

App Store Connect CLI - Interact with the App Store Connect API from the command line.

AppStoreConnect CLI

An easy to use command-line tool for interacting with the Apple AppStore Connect API.

MIT License PRs Welcome! Build and Test

AppStoreConnect CLI lets you interact with the AppStore Connect from the command line.

  • Manage Users and access.
  • Manage TestFlight Users, Beta Groups, and Builds.
  • Manage Devices, Profiles and Bundle IDs.
  • Manage Certificates.
  • Download reports.

⚠️ Note: AppStoreConnect CLI is under heavy development and not all features are complete.

Installation

Using Homebrew:

brew tap ittybittyapps/appstoreconnect-cli
brew install --HEAD appstoreconnect-cli

Using Mint:

mint install ittybittyapps/appstoreconnect-cli

TODO: Using a pre-built binary:

You can also install AppStoreConnect-CLI by downloading binaries from the latest GitHub release.

Using Swift Package Manager:

On the Command Line

git clone https://github.com/ittybittyapps/appstoreconnect-cli.git
cd appstoreconnect-cli
swift run asc

As a Dependency

Add the following to your Package.swift file's dependencies:

.package(url: "https://github.com/ittybittyapps/appstoreconnect-cli.git", .branch("master")),

Then you can run:

swift run asc

Road to 1.0

⚠️ Until 1.0 is reached, minor versions will be breaking.

Usage

Run asc --help to see usage instructions.

$ swift run asc --help
OVERVIEW: A utility for interacting with the AppStore Connect API.

USAGE: asc <subcommand>

OPTIONS:
  -h, --help              Show help information.

SUBCOMMANDS:
  bundle-ids              Manage the bundle IDs that uniquely identify your apps.
  certificates            Create, download, and revoke signing certificates for app development and distribution.
  devices                 Register devices for development and testing.
  profiles                Create, delete, and download provisioning profiles that enable app installations for development and distribution.
  reports                 Download your sales and financial reports.
  testflight              Manage your beta testing program, including beta testers and groups, apps, and builds.
  users                   Manage users on your App Store Connect team.

Authentication

AppStoreConnect CLI requires the use of an AppStore Connect API Key. See the Apple documentation for more details on how to create these keys.

When using AppStoreConnect CLI commands you need to specify the API Key Issuer and API Key ID. This can be done via the --api-issuer and --api-key-id command line options or APPSTORE_CONNECT_ISSUER_ID and APPSTORE_CONNECT_API_KEY_ID environment variables respectively.

The API private key is expected to be named AuthKey_<api-key-id>.p8 and located in one of the following directories:

  • ./private_keys
  • ~/private_keys
  • ~/.private_keys
  • ~/.appstoreconnect/private_keys

The API private key can also be stored in the environment variable APPSTORE_CONNECT_API_KEY.

Contribute to AppStoreConnect CLI

Read the Contribution Guide for more information on how to contribute to AppStoreConnect CLI.

Code of Conduct

Help us keep our project diverse, open and inclusive. Please read and follow our Code of Conduct.

License

This project is licensed under the terms of the MIT license. See the LICENSE file.

This project is in no way affiliated with Apple Inc. This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. AppStoreConnect CLI runs on your own computer or server and does not communicate with any service other than the Apple AppStore Connect API. You are responsible for how you use AppStoreConnect CLI.

Acknowledgements

We use the following Swift Packages in appstoreconnect-cli. We are very grateful to their authors.