Skip to content

franciscboll/mobile-release-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mobile-release

CLI that automates the mobile app release workflow — Unity Cloud Build, Jira tickets, Google Play uploads, TestFlight delivery, and store submissions.

What it automates

Step Manual today With mobile-release
Trigger UCB builds (iOS + Android) UCB dashboard mobile-release release start
Create Jira Smoke Test ticket Jira UI mobile-release release start
Notify QA in Slack Copy/paste mobile-release release start
Upload AAB → Google Play Internal Testing Play Console UI mobile-release release upload
Upload IPA → TestFlight Transporter.app GUI mobile-release release upload
Attach build evidence to Jira ticket Manual mobile-release release upload
Submit to stores for review Both store UIs mobile-release release submit
Post to release channel Slack manual mobile-release release submit
Add screenshot evidence to thread Slack manual mobile-release release thread-evidence

Install

pip install -e .

Setup

mkdir -p ~/.mobile-release
cp config.example.yaml ~/.mobile-release/config.yaml
# Edit ~/.mobile-release/config.yaml with your credentials

Usage

Full release flow

# 1. Start builds + create Jira ticket + notify QA
mobile-release release start my-app 2.1.0

# 2. UCB finishes → upload to stores + add evidence to ticket
mobile-release release upload my-app 2.1.0 --ticket PROJ-123

# 3. QA confirms → submit to stores + post to release channel
mobile-release release submit my-app 2.1.0 --ticket PROJ-123

# 4. Add evidence to the release thread
mobile-release release thread-evidence my-app 2.1.0 --ts 1234567890.123 --screenshot submission.png
mobile-release release thread-evidence my-app 2.1.0 --ts 1234567890.123 --message "✅ Approved on App Store"

Other commands

# Check build and review status
mobile-release release status my-app

# Verify config
mobile-release config

# Help
mobile-release --help
mobile-release release --help

Configuration

Credentials are loaded in priority order:

  1. Environment variables (highest priority — good for CI/CD)
  2. ~/.mobile-release/config.yaml (recommended for local use)
  3. .env file in the working directory

See config.example.yaml for the full schema.

Requirements

  • Python ≥ 3.10
  • Unity Cloud Build API key
  • Jira API token
  • Slack bot token (with chat:write, files:write scopes)
  • Google Play service account JSON with androidpublisher access
  • App Store Connect API key (.p8 file)
  • Transporter.app installed (/Applications/Transporter.app)

Stack

Python · Typer · Rich · Google Play Developer API · App Store Connect API · iTMSTransporter · Jira REST API · Slack API

Author

Francisco Boll — GitHub | DevOps / SRE

About

CLI to automate mobile app releases: Unity Cloud Build, Jira, Google Play, TestFlight, Slack

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages