Skip to content

Latest commit

 

History

History
91 lines (75 loc) · 3.23 KB

File metadata and controls

91 lines (75 loc) · 3.23 KB

fastlane-plugin-saucelabs_appdist

Gem Version License: MIT

A Sauce Labs fastlane plugin for uploading builds to Mobile App Distribution.

For more information about Sauce Labs Mobile App Distribution, see the product page.

Installation

fastlane add_plugin saucelabs_appdist

Or add the plugin manually to your project's Pluginfile:

gem 'fastlane-plugin-saucelabs_appdist'

Usage

saucelabs_appdist(
  api_key: "your_api_key",
  ipa: "./path/to/app.ipa",
  comment: "Build #{lane_context[SharedValues::BUILD_NUMBER]}"
)

Parameters

Key Description Default
api_key API Key for Sauce Labs App Distribution
ipa Path to your IPA file (iOS)
apk Path to your APK file (Android)
symbols_file Symbols mapping file
upload_url API URL for App Distribution https://app.testfairy.com
testers_groups Array of tester groups []
metrics Array of metrics to record []
comment Additional release notes No comment provided
auto_update Auto-upgrade users (on/off) off
notify Send email to testers (on/off) off
options Array of options []
custom Custom options string ""
timeout Request timeout in seconds
tags Custom tags for builds []
folder_name Dashboard folder name ""
landing_page_mode Landing page visibility (open/closed) open
upload_to_saucelabs Upload to Sauce Labs (on/off) off
platform Platform override ""
community_token Custom URL token for the landing page ""
app_description Description text to display on the landing page ""

Response

The SAUCELABS_APPDIST_UPLOAD_RESPONSE shared value contains the full JSON response from the upload API. It is set in lane_context and can be accessed in subsequent lanes:

lane_context[SharedValues::SAUCELABS_APPDIST_UPLOAD_RESPONSE]

Example response:

{
  "status": "ok",
  "build_id": "1",
  "project_id": "1",
  "app_name": "My Demo App",
  "app_version": "2.0.2 - 2026-02-19 02:51:05",
  "file_size": 2319620,
  "build_url": "https://app.testfairy.com/projects/1/builds/1",
  "download_page_url": "https://app.testfairy.com/join/xxxxxx",
  "app_url": "https://app.testfairy.com/download/.../getapp",
  "invite_testers_url": "https://app.testfairy.com/projects/1/builds/1/invite",
  "icon_url": "https://app.testfairy.com/icons/.../icon.png",
  "options": "video-quality=medium,screenshot-interval=1,session-length=60m,video,logcat,shake,cpu,memory,phone-signal,battery,wifi",
  "platform": "iOS",
  "tags": [],
  "metadata": [],
  "has_testfairy_sdk": true,
  "symbols_download_url": null,
  "attachments": null,
  "landing_page_url": "https://app.testfairy.com/join/xxxxxx",
  "build_specific_landing_page_url": "https://app.testfairy.com/join/xxxxxx?id=1",
  "landing_page_mode": "closed"
}