Dynatrace Fastlane plugin

fastlane Plugin Badge

Getting Started

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

bash fastlane add_plugin dynatrace

About the Dynatrace fastlane plugin

The Dynatrace fastlane plugin manages pre-processing and uploading of dSYM files (iOS, tvOS) or uploading of obfuscation mapping files (Android) to the Dynatrace cluster. Symbol and mapping files are used to make reported stack traces human-readable.

The plugin provides a single action dynatrace_process_symbols. The configuration depends on whether the app is an iOS/tvOS or an Android app.

Usage

To get started, ask your Dynatrace administrator for an API token with Mobile symbolication file management permission . To generate the API token, go to Integration > Dynatrace API. The token is used by the authenticate the plugin into Dynatrace and upload the symbol and mapping files.

Add the action dynatrace_process_symbols to your Fastfile. You’ll find all the configuration options and a default configuration below. Use the parameter symbolsfile to provide a relative path to the symbols file (dSYM or Android mapping).

ruby dynatrace_process_symbols( appId: "<Dynatrace application ID>", apitoken: "<Dynatrace API Token>", os: "<ios>, <tvos> or <android>", bundleId: "<CFBundlebundleId (iOS, tvOS) / package (Android)>", versionStr: "<CFBundleShortVersionString (iOS, tvOS) / versionName (Android)>", version: "<CFBundleVersion (iOS, tvOS) / versionCode (Android)>", server: "<Dynatrace Environment URL>", symbolsfile: "<Symbols File Path>" )

Now, when you run fastlane, the Dynatrace plugin will manage the symbol files of your app as configured.

List of all Parameters

| Key | Description | default value | |————————-|———————————————————————————————————————————————————————————————————————————|—————| | action | (iOS/tvOS only) Action to be performed by DTXDssClient (upload or decode). | upload | | username | (iOS/tvOS only) The username/AppleID to use to download the dSYMs. Alternatively you can specify this in your AppFile as apple_id. | | | os | The type of the symbol files, either ios, tvOS or android. | | | apitoken | Dynatrace API token with mobile symbolication permissions. | | | appID | The application ID you get from your Dynatrace environment. | | | bundleId | The CFBundlebundleId (iOS, tvOS) / package (Android) of the application. Alternatively you can specify this in your AppFile as app_identifier. | | | versionStr | The CFBundleShortVersionString (iOS, tvOS) / versionName (Android) | | | version | The CFBundleVersion (iOS, tvOS) / versionCode (Android). Is also used for the dSYM download. | | | symbolsfile | Path to the dSYM or Android mapping file to be processed. (Android only): If the file exceeds 10MiB and doesn’t end with *.zip it’s zipped before uploading. This can be disabled by setting symbolsfileAutoZip to false. | | | symbolsfileAutoZip | (Android only) Automatically zip symbolsfile if it exceeds 10MiB and doesn’t already end with *.zip. | true | | server | The API endpoint for the Dynatrace environment (e.g. https://environmentID.live.dynatrace.com or https://dynatrace-managed.com/e/environmentID). | | | cleanBuildArtifacts | Clean build artifacts after processing. | false | | tempdir | (OPTIONAL) Custom temporary directory for the DTXDssClient. The plugin does not take care of cleaning this directory. | | | debugMode | Enable debug logging. | false | | customLLDBFrameworkPath | (OPTIONAL) Custom path to the LLDB framework used as runtime dependency by DTXDssClient (e.g. /Users/test/Documents/LLDB.framework). | | | autoSymlinkLLDB | (OPTIONAL) Automatically find and create a symlink to the LLDB framework into the DTXDssClient’s temporary folder. | true |

Example

Try it by cloning the repo, running fastlane install_plugins and bundle exec fastlane test.

Tests

This plugin includes a set of RSpec unit tests, which can be executed by running bundle exec rspec spec.

Issues and Feedback

For any other issues and feedback about this plugin, please submit it to this repository or contact Dynatrace Support.

Troubleshooting

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, tvOS and Android apps. To learn more, check out fastlane.tools.