โš  This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content
/ cli Public

TestApp.io CLI (ta-cli) for app distribution to upload your Android (APK) and iOS (IPA) directly from this command line and notify your team members to install and share feedback.

Notifications You must be signed in to change notification settings

testappio/cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

42 Commits
ย 
ย 
ย 
ย 

Repository files navigation

TestApp.io

ta-cli

The official CLI for TestApp.io app distribution

Upload your Android (APK) and iOS (IPA) apps directly from the command line.
Notify your team instantly. Get feedback faster.

Latest Release Downloads Platforms License


Quick Install

curl -Ls https://github.com/testappio/cli/releases/latest/download/install | bash

Works on macOS (Intel & Apple Silicon) and Linux (x86_64, ARM). For Windows, see below.


Table of Contents


What is ta-cli?

ta-cli lets you upload app builds to TestApp.io without leaving your terminal. Perfect for:

  • Local development - Quick uploads while coding
  • CI/CD pipelines - Automated releases on every build
  • Team collaboration - Notify testers instantly with each release

Features:

  • Upload Android APK and iOS IPA files
  • Automatic app info extraction (version, bundle ID, etc.)
  • Git integration for release notes
  • Team notifications
  • Chunked uploads with automatic retry
  • Cross-platform support

Installation

macOS & Linux

curl -Ls https://github.com/testappio/cli/releases/latest/download/install | bash

This installs to /usr/local/bin/ta-cli.

Windows

Download from Releases:

File Architecture
ta-cli-Windows-x86_64.exe 64-bit (recommended)
ta-cli-Windows-i686.exe 32-bit

Rename to ta-cli.exe and add to your PATH, or run directly.

Verify Installation

ta-cli version

Quick Start

1. Get your credentials

Credential Where to find it
API Token portal.testapp.io/settings/api-credentials
App ID Your app page โ†’ Integrations tab at portal.testapp.io/apps

2. Configure (interactive)

ta-cli config

Follow the prompts to enter your credentials.

3. Publish your app

ta-cli publish

That's it! Your app is uploaded and your team is notified.


Commands

ta-cli publish

Upload your app to TestApp.io.

ta-cli publish [flags]
Flag Description Default
--api_token Your API token From config
--app_id Your App ID From config
--release android, ios, or both both
--apk Path to Android APK file From config
--ipa Path to iOS IPA file From config
--release_notes Custom release notes None
--git_release_notes Use latest git commit as notes false
--git_commit_id Include commit ID in notes false
--notify Notify team members false
--archive_latest_release Archive previous release false
--config Custom config file path ~/.ta-cli.json

ta-cli config

Interactive configuration wizard.

ta-cli config

ta-cli version

Display version information.

ta-cli version

ta-cli completion

Generate shell autocompletion scripts.

# Bash
ta-cli completion bash > /etc/bash_completion.d/ta-cli

# Zsh
ta-cli completion zsh > "${fpath[1]}/_ta-cli"

# Fish
ta-cli completion fish > ~/.config/fish/completions/ta-cli.fish

Configuration

Config File

Location: ~/.ta-cli.json

{
  "api_token": "your_api_token",
  "app_id": "your_app_id",
  "release": "both",
  "apk": "/path/to/app.apk",
  "ipa": "/path/to/app.ipa",
  "release_notes": "",
  "git_release_notes": true,
  "git_commit_id": false,
  "notify": true,
  "archive_latest_release": false
}

Custom Config Path

ta-cli publish --config=/path/to/custom-config.json

Config Priority

  1. Command-line flags (highest priority)
  2. Config file specified by --config
  3. .ta-cli.json in current directory
  4. ~/.ta-cli.json (default)

Environment Variables

Use environment variables instead of config files (ideal for CI/CD):

Variable Description
TESTAPPIO_API_TOKEN Your API token
TESTAPPIO_APP_ID Your App ID
TESTAPPIO_RELEASE Release type: android, ios, or both
TESTAPPIO_ANDROID_PATH Path to APK file
TESTAPPIO_IOS_PATH Path to IPA file
TESTAPPIO_NOTIFY Send notifications: true or false
TESTAPPIO_RELEASE_NOTES Custom release notes
TESTAPPIO_GIT_RELEASE_NOTES Use git commit as notes: true or false
TESTAPPIO_GIT_COMMIT_ID Include commit ID: true or false

Example:

export TESTAPPIO_API_TOKEN="your_token"
export TESTAPPIO_APP_ID="your_app_id"
ta-cli publish --apk=./app.apk --release=android

CI/CD Integrations

ta-cli works with any CI/CD platform that supports bash. Just install and run!

Quick Setup (Any CI/CD)

# 1. Install ta-cli
curl -Ls https://github.com/testappio/cli/releases/latest/download/install | bash

# 2. Upload your app
ta-cli publish \
  --api_token=$TESTAPPIO_API_TOKEN \
  --app_id=$TESTAPPIO_APP_ID \
  --apk=./app-release.apk \
  --release=android \
  --notify=true

Dedicated Integrations (Recommended)

For the best experience, use our dedicated integrations with built-in auto-updates:

Integration Description Link
GitHub Action Native GitHub Actions integration testappio/github-action
Fastlane Plugin Native Fastlane plugin testappio/fastlane-plugin-testappio

Platform-Specific Guides

We have detailed guides for each CI/CD platform:

Platform Documentation
GitHub Actions View Guide
Fastlane View Guide
GitLab CI/CD View Guide
Jenkins View Guide
Bitrise View Guide
CircleCI View Guide
Travis CI View Guide
Azure Pipelines View Guide
Codemagic View Guide
Xcode Cloud View Guide

View All Integrations โ†’


Examples

Android Only

ta-cli publish \
  --release=android \
  --apk=./app-release.apk \
  --notify=true

iOS Only

ta-cli publish \
  --release=ios \
  --ipa=./App.ipa \
  --notify=true

Both Platforms

ta-cli publish \
  --release=both \
  --apk=./app-release.apk \
  --ipa=./App.ipa \
  --release_notes="Bug fixes and improvements" \
  --notify=true

With Git Integration

ta-cli publish \
  --git_release_notes=true \
  --git_commit_id=true \
  --notify=true

Archive Previous Release

ta-cli publish \
  --apk=./app-release.apk \
  --archive_latest_release=true \
  --notify=true

Supported Platforms

Operating Systems

OS Architectures Binary
macOS Intel (x86_64), Apple Silicon (arm64), Universal ta-cli-Darwin-*
Linux x86_64, ARM64 (aarch64), ARMv7, i686 ta-cli-Linux-*
Windows x86_64 (64-bit), i686 (32-bit) ta-cli-Windows-*.exe

Supported File Types

Platform File Type Notes
Android .apk Debug or release signed APK
iOS .ipa Requires valid provisioning profile

Updating

Re-run the install script to update to the latest version:

curl -Ls https://github.com/testappio/cli/releases/latest/download/install | bash

Check your current version:

ta-cli version

Uninstalling

sudo rm /usr/local/bin/ta-cli
rm ~/.ta-cli.json  # Optional: remove config

Troubleshooting

"command not found: ta-cli"

The binary isn't in your PATH:

# Option 1: Restart your terminal
# Option 2: Add to PATH manually
export PATH=$PATH:/usr/local/bin
# Option 3: Use full path
/usr/local/bin/ta-cli version

Upload Fails or Hangs

  1. Check internet connection
  2. Verify credentials - Ensure API token and App ID are correct
  3. Validate your file - Make sure the APK/IPA exists and isn't corrupted
  4. Retry - The CLI has automatic retry with exponential backoff

Invalid APK/IPA Error

  • APK: Ensure it's a valid Android package with AndroidManifest.xml
  • IPA: Ensure it contains Info.plist and a valid provisioning profile

Config Issues

Reset your configuration:

rm ~/.ta-cli.json
ta-cli config

Windows-Specific Issues

  • Run Command Prompt or PowerShell as Administrator if needed
  • Use forward slashes or escaped backslashes in paths: C:/path/to/app.apk

API Reference

For advanced integrations, see the TestApp.io API Documentation.


Support

Resource Link
Help Center help.testapp.io
CLI Documentation help.testapp.io/ta-cli
Community Join us
Email [email protected]
Issues GitHub Issues

Contributing

We welcome contributions! Please see our Contributing Guidelines for details.


License

Apache 2.0 - See LICENSE file for details.


Built with love by TestApp.io
Trusted by thousands of developers worldwide

Happy releasing! ๐ŸŽ‰

About

TestApp.io CLI (ta-cli) for app distribution to upload your Android (APK) and iOS (IPA) directly from this command line and notify your team members to install and share feedback.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published