Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ittybittyapps/appstoreconnect-cli
An easy to use command-line tool for interacting with the Apple AppStore Connect API
https://github.com/ittybittyapps/appstoreconnect-cli
apple appstoreconnect cli client developer-tools macos mobile swift
Last synced: about 2 months ago
JSON representation
An easy to use command-line tool for interacting with the Apple AppStore Connect API
- Host: GitHub
- URL: https://github.com/ittybittyapps/appstoreconnect-cli
- Owner: ittybittyapps
- License: mit
- Created: 2020-03-09T06:28:04.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-11-01T05:31:40.000Z (about 2 years ago)
- Last Synced: 2024-08-10T14:19:00.358Z (6 months ago)
- Topics: apple, appstoreconnect, cli, client, developer-tools, macos, mobile, swift
- Language: Swift
- Homepage:
- Size: 5.96 MB
- Stars: 173
- Watchers: 20
- Forks: 17
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
![App Store Connect CLI - Interact with the App Store Connect API from the command line.](.github/logo.png)
# AppStoreConnect CLIAn easy to use command-line tool for interacting with the Apple AppStore Connect API.
[![MIT License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)][license]
[![PRs Welcome!](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)][contributing]
![Build and Test](https://github.com/ittybittyapps/appstoreconnect-cli/workflows/Build%20and%20Test/badge.svg)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](http://brew.sh/):
```sh
brew tap ittybittyapps/appstoreconnect-cli
brew install --HEAD appstoreconnect-cli
```### Using [Mint](https://github.com/yonaskolb/mint):
```sh
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](https://github.com/ittybittyapps/appstoreconnect-cli/releases/latest).### Using Swift Package Manager:
#### On the Command Line
```sh
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:
```swift
.package(url: "https://github.com/ittybittyapps/appstoreconnect-cli.git", .branch("master")),
```Then you can run:
```sh
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
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][docs-api-key] 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_.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][contributing] 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][code-of-conduct].
## License
This project is licensed under the terms of the MIT license. See the [LICENSE][license] file.
> This project is in no way affiliated with [Apple Inc][apple]. 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][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.
- [AppStoreConnect Swift SDK][appstoreconnect-swift-sdk] by [@AvdLee][avdlee]
- [CodableCSV][codablecsv] by [@dehesa][dehesa]
- [Files][files] by [@johnsundell][johnsundell]
- [Swift Argument Parser][argument-parser] by [Apple][apple-github]
- [SwiftyTextTable][text-table] by [@scottrhoyt][scottrhoyt]
- [Yams][yams] by [@jpsim][jpsim][docs-api-key]: https://developer.apple.com/documentation/appstoreconnectapi/creating_api_keys_for_app_store_connect_api
[license]: LICENSE
[contributing]: CONTRIBUTING.md
[code-of-conduct]: CODE_OF_CONDUCT.md
[apple]: https://apple.com
[appstore-connect-api]: https://developer.apple.com/app-store-connect/api/
[appstoreconnect-swift-sdk]: https://github.com/AvdLee/appstoreconnect-swift-sdk
[avdlee]: https://github.com/AvdLee
[files]: https://github.com/johnsundell/files.git
[johnsundell]: https://github.com/johnsundell
[argument-parser]: https://github.com/apple/swift-argument-parser
[apple-github]: https://github.com/apple
[yams]: https://github.com/jpsim/Yams.git
[jpsim]: https://github.com/jpsim
[text-table]: https://github.com/scottrhoyt/SwiftyTextTable.git
[scottrhoyt]: https://github.com/scottrhoyt
[codablecsv]: https://github.com/dehesa/CodableCSV
[dehesa]: https://github.com/dehesa