Fastlane Plugin

Fastlane plugin to upload both Android and iOS apps to TestApp.io to notify everyone for testing and feedback.

Getting Started

This project is a Fastlane plugin. To get started with fastlane-plugin-testappio, add it to your project by running:

fastlane add_plugin testappio

Configuration

KeyDescriptionEnv Var(s)Default
api_tokenYou can get it from https://portal.testapp.io/profile/tokensTESTAPPIO_API_TOKEN
app_idYou can get it from your app page at https://portal.testapp.io/appsTESTAPPIO_APP_ID
releaseIt can be either both or Android or iOSTESTAPPIO_RELEASE
apkPath to the Android APK fileTESTAPPIO_ANDROID_PATH
ipaPath to the iOS IPA fileTESTAPPIO_IOS_PATH
release_notesManually add the release notes to be displayed for the testersTESTAPPIO_RELEASE_NOTES
git_release_notesCollect release notes from the latest git commit message to be displayed for the testers: true or falseTESTAPPIO_GIT_RELEASE_NOTEStrue
git_commit_idInclude the last commit ID in the release notes (works with both release notes options): true or falseTESTAPPIO_GIT_COMMIT_IDfalse
notifySend notifications to your team members about this release: true or falseTESTAPPIO_NOTIFYfalse

Check TA-CLI for more info

TestApp.io Action

Actions provided by the CLI: ta-cli

Check out the example Fastfile to see how to use this plugin. Try it by cloning the repo, running fastlane install_plugins and bundle exec fastlane test.

The following code snippet shows the parameters that the upload_to_testappio action supports.

upload_to_testappio(
  api_token: "API_TOKEN",
  app_id: "APP_ID",
  release_notes: "My release notes here...",
  git_release_notes: true,
  git_commit_id: false,
  notify: true
)
💡 You can replace all the parameters with environment variables: configuration
⚠️ API_TOKEN and APP_ID should be kept secret. We strongly recommend using environment variables instead.
💪 [release/apk_file/ipa_file] for Android/iOS projects can be omitted — the plugin detects the context and fills them automatically.

To upload after the Fastlane gym action:

iOS
lane :beta do

  increment_build_number
  match(type: "adhoc")
  gym(export_method: "ad-hoc")

  upload_to_testappio(
    release_notes: "My release notes here...",
    git_release_notes: true,
    git_commit_id: false,
    notify: true
  )

  clean_build_artifacts #optional

end

And finally 🎉

fastlane ios beta

Android

Optional:

fastlane add_plugin increment_version_code
lane :beta do

  increment_version_code #[Optional] fastlane add_plugin increment_version_code

  gradle(task: "clean assembleRelease") #or clean assembleDebug

  upload_to_testappio(
    release_notes: "My release notes here...",
    git_release_notes: true,
    git_commit_id: false,
    notify: true
  )

end

And finally 🎉

fastlane android beta

Troubleshooting

If you have trouble using plugins, check out the Plugins Troubleshooting guide.

Using Fastlane Plugins

Check out the Plugins documentation for more information about how the plugin system works.

About Fastlane

Fastlane is the easiest way to automate beta deployments and releases for iOS and Android apps. To learn more, check out fastlane.tools.


Tip: Once your CI/CD pipeline uploads a build, team members using the TestApp.io mobile app receive a push notification and can install the build with a single tap. You can also create share links to distribute builds to external testers and clients.

Need help? Contact us — we're happy to assist!