Skip to content
App Center fastlane integration.
Branch: master
Clone or download
ranterle Merge pull request #90 from ranterle/feature/fail-on-service-exceptions
Fail action on release creation/upload exceptions
Latest commit a4ebc2b Jun 26, 2019

App Center fastlane plugin

fastlane Plugin Badge Gem Version Build Status

Getting Started

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

fastlane add_plugin appcenter

About App Center

With App Center you can continuously build, test, release, and monitor your apps. This plugin provides an appcenter_upload action which allows you to upload and release distribute apps to your testers on App Center as well as to upload .dSYM files to collect detailed crash reports in App Center.


To get started, first, obtain an API token in App Center. The API Token is used to authenticate with the App Center API in each call.

  api_token: "<appcenter token>",
  owner_name: "<your appcenter account name>",
  app_name: "<your app name>",
  apk: "<path to android build binary>",
  notify_testers: true # Set to false if you don't want to notify testers of your new release (default: `false`)

The action parameters api_token and owner_name can also be omitted when their values are set as environment variables. Below a list of all available environment variables:

  • APPCENTER_API_TOKEN - API Token for App Center
  • APPCENTER_APP_NAME - App name. If there is no app with such name, you will be prompted to create one
  • APPCENTER_DISTRIBUTE_APK - Build release path for android build
  • APPCENTER_DISTRIBUTE_IPA - Build release path for ios build
  • APPCENTER_DISTRIBUTE_DSYM - Path to your symbols ( file
  • APPCENTER_DISTRIBUTE_UPLOAD_DSYM_ONLY - Flag to upload only the dSYM file to App Center
  • APPCENTER_DISTRIBUTE_ANDROID_MAPPING - Path to your Android mapping.txt file
  • APPCENTER_DISTRIBUTE_UPLOAD_ANDROID_MAPPING_ONLY - Flag to upload only the mapping file to App Center
  • APPCENTER_DISTRIBUTE_DESTINATIONS - Comma separated list of destination names. Both distribution groups and stores are supported. All names are required to be of the same destination type. Default is Collaborators.
  • APPCENTER_DISTRIBUTE_DESTINATION_TYPE - Destination type of distribution destination. group and store are supported. Default is group
  • APPCENTER_DISTRIBUTE_MANDATORY_UPDATE - Require users to update to this release
  • APPCENTER_DISTRIBUTE_NOTIFY_TESTERS - Send email notification about release (default: false)
  • APPCENTER_DISTRIBUTE_RELEASE_NOTES_CLIPPING - Clip release notes if its length is more then 5000, true by default
  • APPCENTER_DISTRIBUTE_RELEASE_NOTES_LINK - Additional release notes link


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.

Sample uses .env for setting private variables like API token, owner name, .etc. You need to replace it in Fastfile by your own values.

There are three examples in test lane:

  • upload release for android with minimum required parameters
  • upload release for ios with all set parameters
  • upload only dSYM file for ios

Run tests for this plugin

To run both the tests, and code style validation, run


To automatically fix many of the styling issues, use

rubocop -a

Issues and Feedback

For any other issues and feedback about this plugin, please open a GitHub issue.


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

Using fastlane Plugins

For more information about how the fastlane plugin system works, check out the Plugins documentation.

About fastlane

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


This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.


We're on Twitter as @vsappcenter. Additionally you can reach out to us on the App Center portal by using the blue Intercom button on the bottom right to start a conversation.

You can’t perform that action at this time.