CLI that automates the mobile app release workflow — Unity Cloud Build, Jira tickets, Google Play uploads, TestFlight delivery, and store submissions.
| 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 |
pip install -e .mkdir -p ~/.mobile-release
cp config.example.yaml ~/.mobile-release/config.yaml
# Edit ~/.mobile-release/config.yaml with your credentials# 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"# Check build and review status
mobile-release release status my-app
# Verify config
mobile-release config
# Help
mobile-release --help
mobile-release release --helpCredentials are loaded in priority order:
- Environment variables (highest priority — good for CI/CD)
~/.mobile-release/config.yaml(recommended for local use).envfile in the working directory
See config.example.yaml for the full schema.
- Python ≥ 3.10
- Unity Cloud Build API key
- Jira API token
- Slack bot token (with
chat:write,files:writescopes) - Google Play service account JSON with
androidpublisheraccess - App Store Connect API key (
.p8file) - Transporter.app installed (
/Applications/Transporter.app)
Python · Typer · Rich · Google Play Developer API · App Store Connect API · iTMSTransporter · Jira REST API · Slack API
Francisco Boll — GitHub | DevOps / SRE