OpenCI CLI

A command line interface for interacting with Apple's App Store Connect API to manage certificates, provisioning profiles, and more.

Features

  • 🍎 App Store Connect integration
  • 🔐 Certificate management
  • 📱 Provisioning profile operations
  • 🚀 Beta build submission
  • 🔄 Clean API client implementation

Requirements

  • Dart SDK version 3.5.0 or higher.
  • A valid App Store Connect account with API credentials.
  • macOS (e.g. M1 Max on macOS Sequoia) is recommended for development.

Installation

Install via Dart pub:

dart pub global activate openci_cli2

Make sure your Dart pub global bin directory is in your PATH.

Usage

Display help:

openci_cli2 --help

The CLI supports various commands, which are grouped as follows:

Certificate Commands

  • Create Certificate

    Create a new certificate using your credentials.

    openci_cli2 create-certificate \
      --issuer-id YOUR_ISSUER_ID \
      --key-id YOUR_KEY_ID \
      --path-to-private-key /path/to/AuthKey.p8 \
      --certificate-type DISTRIBUTION
    
  • List Certificates

    List available certificates.

    openci_cli2 list-certificates \
      --issuer-id YOUR_ISSUER_ID \
      --key-id YOUR_KEY_ID \
      --path-to-private-key /path/to/AuthKey.p8
    
  • Read Certificate

    Retrieve details of a specific certificate.

    openci_cli2 read-certificate \
      --issuer-id YOUR_ISSUER_ID \
      --key-id YOUR_KEY_ID \
      --path-to-private-key /path/to/AuthKey.p8 \
      --certificate-id CERTIFICATE_ID
    

Provisioning Profile Commands

  • Create Provisioning Profile

    Create a new provisioning profile.

    openci_cli2 create-provisioning-profile \
      --issuer-id YOUR_ISSUER_ID \
      --key-id YOUR_KEY_ID \
      --path-to-private-key /path/to/AuthKey.p8 \
      --profile-id PROFILE_ID
    
  • List Provisioning Profiles

    List available provisioning profiles.

    openci_cli2 list-provisioning-profile \
      --issuer-id YOUR_ISSUER_ID \
      --key-id YOUR_KEY_ID \
      --path-to-private-key /path/to/AuthKey.p8
    
  • Delete Provisioning Profile

    Delete an existing provisioning profile.

    openci_cli2 delete-provisioning-profile \
      --issuer-id YOUR_ISSUER_ID \
      --key-id YOUR_KEY_ID \
      --path-to-private-key /path/to/AuthKey.p8 \
      --profile-id PROFILE_ID
    

Bundle ID Commands

  • List Bundle IDs

    Retrieve a list of bundle identifiers.

    openci_cli2 list-bundle-ids \
      --issuer-id YOUR_ISSUER_ID \
      --key-id YOUR_KEY_ID \
      --path-to-private-key /path/to/AuthKey.p8 \
      --filter-identifier io.example.app
    

Configuration

Before using the CLI, ensure you have the following:

  • Your App Store Connect API credentials (Issuer ID, Key ID, and Private Key).
  • An accessible private key file (AuthKey.p8) on your system.

License

This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.

Contributing

Contributions are welcome! Please fork the repository and submit pull requests for any improvements or bug fixes.

Additional Information

For detailed documentation and advanced usage, please refer to the official documentation or the source code comments.

Libraries

openci_cli
openci_cli, A Very Good Project created by Very Good CLI.