Ready-to-use, out-of-the-box steps that contain the code needed to perform your CI tasks. Maintained by Bitrise, partners, and the community.
Extracts Android manifest attributes to environment variables.
APK Android info provider
Upload iOS debug symbols to Embrace through Bitrise CI integration
Extracts the version name and the version code from the Android App Bundle(aab).
This step uploads Android mapping file to Instabug through Bitrise CI integration.
This step uploads iOS debug symbols to Instabug through Bitrise CI integration.
IPA iOS info provider
Uploads gradle dependencies to Github Dependency Graph
Extracts Xcode project info data to environment variables.
Builds your Android project with Gradle.
Builds your Android project with Gradle with the belonging AndroidTest variant.
Builds a mobile app using Appdome's platform
Builds an iOS mobile app using Appdome's platform
The Step runs ionic build with the arguments you provide.
Generate version containing pre-release information (v1.0.0-alpha.1, 2.4.1.249-beta+2, v2.0-rc.3) based on git tags.
Build and run parallel UI/Unit tests for iOS using LinkedIn's bluepill testing tool
Generates an universal apk from an app bundle
Cake (C# Make) is a cross platform build automation system
This step allows you to build cordova-based Android projects.
Creates an archive of your Cordova project by calling cordova prepare and then cordova compile, using your Cordova build configuration.
This step allows you to build cordova-based iOS projects.
Building and pushing docker images with built-in cache support
Executes one or more Flutter commands. E.g. build, test or install.
Builds a Flutter project.
Install and Build Patrol for Flutter Projects
Runs a specified Gradle task.
Generates builds for the requested platforms.
Runs Jasmine tests.
Run your Jasmine tests with the Karma tool on Bitrise.
Runs Localazy CLI and download updated translations
Build your React Native app faster than ever with Nitro
Build your React Native app faster than ever with Nitro
Bundles your React Native app.
Runs a build on Expo Application Services (EAS).
Runs Build on your macOS project with Swift Package Manager
Automatically manages your code signing assets, archives and exports an .ipa in one Step.
Create an archive for your macOS project
Runs xcodebuild commands for simulators
Performs xcodebuild's build-for-testing action
Build your XCTest or XCUITest runner to upload to remote testing service
Execute xcodebuild
Builds a mobile app using Appdome's platform
Builds an iOS mobile app using Appdome's platform
Downloads and installs the Apple code signing certificates and provisioning profiles.
Patch xcode's signing config for specific key and provisioning profile
Download and install certificates and provisioning profiles managed with fastlane match
Automatically manage code signing assets before a build.
Signs your APK or Android App Bundle before uploading it to Google Play Store.
Updates Xcode's project file signing config to use a specific certificate and provisioning profile
Install Ruby Dependencies with Bundler
Runs the selected Carthage command.
OWASP dependency analysis for iOS / CocoaPods
This Step uses CocoaPods' pod install or pod update command to install your dependencies.
You don't need to keep the installed seeds in your repo, simply add this step and Bitrise will do the seed install for you on the VM!
Set GEM_HOME
Runs yarn with the given command and args.
Uploads APK/AAB to Huawei App Gallery
This step allows you to publish your application to your private app store on Appaloosa Store
Upload apk and mapping.txt to Microsoft AppCenter
Release a React Native update to AppCenter CodePush
Distribute your Android app through Microsoft App Center.
Distribute your iOS app through Microsoft App Center.
Upload dSYM to Microsoft AppCenter
Upload ipa to Microsoft AppCenter
Deploy your app to Appetize.io
Uploads and releases apps to Huawei App Gallery
Deploy your awesome Android App to Applivery.com
Deploy your awesome iOS App to Applivery.com
Amazon Device Farm File Deploy
This step will use ImageMagick to stamp the version number to all icons.
Generate version containing pre-release information (v1.0.0-alpha.1, 2.4.1.249-beta+2, v2.0-rc.3) based on git tags.
Uploads your APK or IPA to Browserstack for interactive app testing.
This step uses AppZung CLI to deploy your React Native update to AppZung CodePush
Deploys build artifacts to make them available for the user on the build's Artifacts tab. Sends test results to the Test Reports (build's Tests tab). Uploads Pipeline intermediate files to make them available in subsequent Workflows and also uploads Bitrise and user generated html reports.
Uploads binaries (.ipa / .pkg files) to App Store Connect.
Upload screenshots, metadata and binaries to App Store Connect (iTunes Connect) and submit your app for App Store review.
Distribute your app's builds (ipa/apk/aab) to your team and testers
Distribute your in-development iOS/Android apps to your developers or testers
Upload an ipa/apk/zip to Diawi
Use the awesome Crashlytics/Fabric beta distribution service during your workflow. Add notes, send notification to the testers, groups or to any email address and let the search for those nasty bugs begin!
Distributes your builds via Firebase App Distribution
This step uploads the dSYM for your iOS project to Firebase using CocoaPods
Create Github Release
Upload your Android app to Google Play.
This step connects to Google Play and check if there is a release in production with an in progress rollout. If found, it increases it to the next rollout percentage [2%, 5%, 10%, 20%, 50%, 100%]
Deploy to Heroku
Deploy your iOS Application to HockeyApp. (Deprecated.)
Deploy your awesome Android app to HockeyApp. (Deprecated.)
Deploy your awesome iOS Application to InstallrApp.
Uploads your application to the Kobiton Platform for seamless interactive app testing
Upload an APK or IPA file to Mobitru platform
Uploads any file to Perfecto cloud repository
Upload your dSym to Raygun
The Step runs Revopush cli with the command and arguments you provide, for example, to release release-react bundle .
Uploads your build to Sofy.
Uploads your build to Sofy.
Gets the different Reports from AppGallery Connect for a specific published app.
Deploy your awesome App to TestFairy.
Uploads your APK or IPA to TestingBot for mobile app testing.
Uploads IPA to Testlio
Uploads apps to Infinum's TryoutApps
Updates files of a GitOps repository either by pushing changes directly to a given folder of a given branch or by opening a pull request to it.
Upload an APK/AAB/IPA/ZIP artifact to Sauce Labs.
Deploy your builded application as a new version to VersionBox.io store!
Step to install an Android SDK Add-on locally
Need to install or update a packge from Android SDK Manager? Use this Step to install and update them as you wish!
Install or upgrade packages on Ubuntu with apt-get.
Runs bower with the given command and args.
Install or upgrade dependencies with Homebrew.
This step allows you to install cocoapo-keys
Installs dependencies from tool version files in your repo.
Install Flutter SDK.
Install gmsaas, command line interface to rule all your virtual devices hosted in Genymotion SaaS solution.
Install Android SDK components that are required for the app.
Installs the React Native CLI tools.
Install the Rust Toolchain.
Automatically add custom badges to pull/merge requests - boost productivity and streamline code reviews
Post build status to bitbucket server
This step allows you to check a certificate against a host, and send an email in the case it is invalid.
Comment on GitHub Pull Request or Issue
Send a Discord message with the build status
Send emails using your Mailgun account.
This step posts a notification to your flow's inbox with the build status.
Send a Jandi message to a topic.
Update fields of JIRA issues with build number.
Sends signals to your LIFX bulb during builds.
Send Microsoft Teams message to a channel
Allows you to receive build status updates on Microsoft Team using Incoming Webhooks
Create a notification with onesignal. You can send notification with existing OneSignal app
Create a PagerDuty alert
Post comment to a Jira issue.
Sends a custom card message to a Google Chat webhook.
Send Microsoft Teams message to a channel
Send a Slack message to a channel or group.
You can stay up-to-date about the status of your builds even if you don't have an internet connection all day. Send an SMS to your phone and you can keep an eye on the status of your builds even with a good old Nokia 3310.
Send a Chatwork message
Notify Telegram groups about build status
Notify telegram group or chat on builds status.
Update a Twitter account status.
This step runs detekt gradle task on your project.
Runs Instrumented tests on an existing APK
Runs Lint on your Android project source files and detects potential syntax errors to keep your code error free.
This step runs your Android project's unit tests.
Run App Center launch test for android
Mobile application security testing with App-Ray's engine via API
This step uploads and schedules tests on Microsoft App Center.
Bitrise step for apptest.ai test execution
Run a test plan on Autify for Mobile.
Upload a build file to Autify for Mobile.
Create and boot an Android emulator used for device testing
Amazon Device Farm File Deploy
Amazon Device Farm Runner
This is a step to run snyk SAST and dependencies scanning for mobile apps
Run Mobile Application Security Testing using esChecker
Performs security analysis using NowSecure Platform (https://lab.nowsecure.com/).
Upload an app to Qyrus and run tests.
Performs security analysis using the IBM AppScan Cloud.
Build and run parallel UI/Unit tests for iOS using LinkedIn's bluepill testing tool
Run your Espresso tests on BrowserStack App Automate
Run your XCUITest tests on BrowserStack App Automate
Upload APK/IPA files to BrowserStack's App Automate
Calabash Android UI test step
Calabash iOS UI test step
Upload your code coverage files to Codecov.io
This step uploads your app to Codified Security for automated mobile app security testing
Danger automates common code review chores during your CI process.
Perform automated security analysis on every build.
Distribute your app's builds (ipa/apk/aab) to your team and testers
Runs detekt static code analysis for Kotlin
Uses devicecloud.dev to execute Maestro mobile tests
Checks for unchecked errors in go program
Step for Fauxpasapp
Run your tests using Flank.
Executes one or more Flutter commands. E.g. build, test or install.
Install and Build Patrol for Flutter Projects
Performs any test in a Flutter project.
Submits a Fortify on Demand Mobile Assessment
Runs Go test
Runs golint
Runs Coveralls with ./gradlew.
Runs tests with gradlew.
Executes automation tests on the Kobiton Platform and seamlessly triggers Scriptless Automation across multiple devices, harnessing the power of AI without the need for additional scripting
Upload an app apk and an Espresso test apk to LambdaTest and run tests with App Automate. For more information, please check out this document
Upload APK/IPA files to LambdaTest's App Automate
Upload an app ipa and an XCUITest test ipa to LambdaTest and run tests with App Automate. For more information, please check out this document
Upload your app binary to Maestro Cloud and run your flows
Runs Maestro Flows on iOS Simulator
MagicPod UI test step
mobsfscan is a static analysis tool (SAST) that can find insecure code patterns in your Android and iOS source code. Supports Java, Kotlin, Android XML, Swift and Objective C Code. mobsfscan uses MobSF static analysis rules and is powered by semgrep and libsast pattern matcher.
Test your Android app using Monkop. Real performance analysis using real devices.
A framework for easily testing Push Notifications, Universal Links and Routing in XCUITests.
NUnit runner
Connects with devices from Device Farmer/Open Smartphone Test Farm
Disconnects from devices from Device Farmer/Open Smartphone Test Farm previously connected using Device Farmer/Open STF Connect step
Detects security vulnerabilities
Parses Composer junit test results and stores them in environment variables.
$COMPOSER_ALL_TEST_COUNT and $COMPOSER_PASSED_TEST_COUNT respectively.
Uploads your APK or IPA to Pcloudy for interactive app testing.
Uploads any file to Perfecto cloud repository
Step for executing repeato tests.
Run all your automated tests in just 15 minutes, no matter how many tests you have
Upload an app apk and an Espresso test apk to SauceLabs and run tests with App Automate.
Scan your app using Guardsquare's mobile application security testing tool AppSweep
SmartQA E2E test step.
Runs Test on your macOS project with Swift Package Manager
Deploy your App to TestFairy.
Uploads IPA to Testlio
Run a TestProject job
Upload an IPA/APK file to TestProject
This step uploads your app to Veracode Security for app security testing.
Run Android UI tests on virtual devices
Run iOS XCUITests on devices
Uploads your build to Waldo.
Find flaws and potential bugs in the source code of an app with the static analyzer built into Xcode.
Generates a human-readable test report from the Xcode result bundle and shows it on GitHub Checks.
Runs your project's pre-defined Xcode tests on every build.
Runs Xcode's test action for macOS app projects.
Calculates the test shards for your Xcode tests.
Tests compiled bundles.
Execute xcodebuild
Execute XCUITests on Browserstack Platform with retry logic
Bitrise plugin to upload to Zimperium zScan
Activates Bitrise Remote Build Cache for subsequent Bazel builds in the workflows.
Activates Bitrise Remote Build Cache add-on for subsequent Gradle builds in the workflow
Activates Bitrise Remote Build Cache add-on for subsequent Xcode builds in the workflow
Run your ApiSpotter tests and get the test result to your Bitrise build.
Install and Run Appium Server
Decompile mobile APK and/or IPA to look inside
Add a random Bitrise ASCII art to your build log
The step authenticates with AWS using an OIDC token.
Adds your Bitbucket OAuth configuration to the .netrc file.
The step authenticates with GCP using a service account key.
Adds your GitHub OAuth config to the .netrc file.
The Step uploads a file to an Amazon S3 bucket.
Fetch secrets from AWS Secrets Manager
Update commit status for Azure DevOps repositories
Generates some Android project stats
Found a great Bitbucket Snippet that you'd like to use during your workflow?
Just add the raw URL, Bitrise will download it and run it as a bash script!
Runs a specified Workflow from the bitrise.yml file.
This step allows the creation of apple docs
Exports a universal APK from an Android App Bundle.
This step allow to print any text on top of the app's icon in order to distinguish different builds
Restores build cache using a cache keys. This Step needs to be used in combination with Multikey Save Cache or Save Cache.
Saves items to the cache based on key-value pairs. This Step needs to be used in combination with Multikey Restore Cache or Restore Cache.
Generate version containing pre-release information (v1.0.0-alpha.1, 2.4.1.249-beta+2, v2.0-rc.3) based on git tags.
Converts XCTest results to cobertura compatible xml
Upload an app apk and an Espresso test apk to BrowserStack and run tests with App Automate.
Starts a new build with the specified Workflow(s).
The Step pauses the current build until another running build is finished.
Exports environment variables to be able to detect if the currently running build's status has changed to a previous one.
Updates the Android applicationId in your project's build.gradle file.
Updates the Android versionCode and versionName in your project's build.gradle file.
Changes a selected value in a targeted file.
Set bitrise source directory (BITRISE_SOURCE_DIR) to a specified path.
This step allows you to check a certificate against a host, and send an email in the case it is invalid.
Adds random Chuck Norris jokes to build log.
Step moves Jira tasks from given initial state to target state if their ids are in git log
This step allows you to install cocoapo-keys
Patch xcode's signing config for specific key and provisioning profile
Scans the source code for feature flags and uploads the references to the ConfigCat Dashboard
Connect to Fortigate SSL VPN
Manipulate cordova config.xml
Runs Cordova Prepare for your project
Create a new release in JIRA.
This step helps to create a HTML representation of the Framework documentation, using Jazzy as engine
Create GitHub app token
Creates a pull request on GitHub with the specified details.
Generates a QR code which points to the public install page.
Creates a ZIP from the given file/dir to the given destination.
Ping an URL using cURL. You can also add optional parameters.
This Step is used to search for test results and export them for the Deploy to Bitrise.io Step which can export the results to the Test Reports.
This Step decrypts a file encrypted with gpg, using the default AES128 symmetric cypher.
Protect your Android or iOS app with DexProtector.
This Step disables ConnectHardwareKeyboard preference for all iphonesimulator devices.
Upload one or more files to dropbox
Upload of dSym to Firebase Crashlytics with SPM installation
Make sure your repo is clean as a whistle, no uncommitted changes, nothing to hide.
Creates Xcode and Android Studio projects for your app.
Push iOS project default language to LingoHub
Pull languages from LingoHub and import them into XCode Project
Export iOS and tvOS IPA from an existing Xcode archive
Export macOS Xcode archive
Runs your fastlane lane on bitrise.io.
Creates a list of features and gathered from git commits and tags using given pattern.
Allows the collection of secrets from your Infisical account.
Download remote files to the build machine.
Find the jira issue and add it as an environment variable
Utility to be able to differentiate your firebase projects by development environment
This Step runs the flutter analyze command in a Flutter project.
You get what you see, upload a file or directory to the target directory
The Step uploads files to a Google Cloud Storage bucket.
Build result on Geckoboard dashboard
Generates changelog based on git commits
Generate a build.json file specifying code signing parameters for the Cordova Archive Step.
Generates Gradle Wrapper if it doesn't already exist
Generate a difference image from two images.
Dynamically generate a text file
The Step converts xcresult summaries to html reports.
The step will download all your files you uploaded in the GENERIC FILE STORAGE section of the Code Signing tab in your Workflow Editor.
Start Genymotion Cloud SaaS Android Devices
Stop Genymotion Cloud SaaS instances
A simple step to get any artifact from other Apps/Workflow downloaded to any directory.
Extracts minimum required Flutter version from pubspec files
The Step fetches an OIDC identity token.
Sets an environment variable with the npm package version
Get the version from the pubspec and sets the environment variables
Spice up your Bitrise.io logs with a random Gif from Giphy (saved into $GIF_URL)
Checks out the repository, updates submodules and exports git metadata as Step outputs.
Generates a changelog for deployment between two tags
Reads the date of the last git commit
A simple step that create a tag to the current commit
Git tag project version and build number
Download any assets from GitHub releases
Downloads and Runs a bash script stored on a private GitHub repo.
Update commit status for GitHub repositories.
Update commit status for GitLab repositories.
This step runs the go list ./... command for you to list the go packages named by the import paths.
OWASP dependency analysis for Gradle files
Runs gulp with the given command and args.
Add icon to an image
This step allows you to uninstall the system bundler version, and match the one in your Gemfile.
Extracts Flutter version from FVM configuration file.
Prepares your Ionic project
Creates comments for all tasks from pull request merge commits. It uses the commit message to determine which tasks should be commented.
Adds or updates field value for all issues from pull request merge commits. It uses the commit message to determine which issues should be commented.
Change status of JIRA issues.
Step to execute a kotlin script
Sends signals to your LIFX bulb during builds.
Upload or download translations from Loco
Check if your Android app kept any logs in your release build
Check and monitor mobile applications permissions
Check and monitor mobile applications sizes
Step for running SonarScanner agains .NET (Xamarin) projects. This is the first step from two.
Step for running SonarScanner agains .NET (Xamarin) projects. This the the last step from two.
The Step runs npm with the command and arguments you provide, for example, to install missing packages or run a package's test.
Install NVM and select Node version
Builds a Pebble project
Scans repository for iOS, macOS, Android, Fastlane, Cordova, Ionic, React Native and Flutter projects
The Step downloads Pipeline intermediate files to a local folder.
Got no idea how to spice up your every day build notifications? How about a random quote to pass the time while your app is being installed on your device?
Recreate User Schemes
Easily extract release notes for your project's changelog
Found a great GitHub Gist that you'd like to use during your workflow? Just add the raw URL, Bitrise will download it and run it as a bash script!
ZIP resource archive downloader
Restores build cache using a cache key. This Step needs to be used in combination with Save Cache.
Restores cached Carthage dependencies. This Step needs to be used in combination with Save Carthage Cache.
Restores cached Cocoapods dependencies. This Step needs to be used in combination with Save Cocoapods Cache.
Restores Dart (Flutter) dependencies. This Step needs to be used in combination with Save Dart Cache.
Restores Gradle caches. This Step needs to be used in combination with Save Gradle Cache.
Restores the Gradle configuration cache folder used by Gradle. Uses the Bitrise Build Cache infrastructure.
Restores cached node_modules dependencies, used by NPM and Yarn. This Step needs to be used in combination with Save NPM Cache.
Restores build cache using a cache key. This Step needs to be used in combination with Save S3 Cache.
Restores cached Swift Package Manager dependencies. This Step needs to be used in combination with Save SPM Cache.
Install the gems you need, run the script you'd like.
A step to retrieve your cache from a S3 bucket using custom keys with fallback. This should be used with the s3-cache-push step to store the cache. If you want to retrieve multiple items, you'll need run this step multiple times. Bucket Access For this step to work you'll need an user in aws with programmatic access to a bucket. The user should have permissions to list, get, and put objects in the bucket. You can set the credentials using the Bitrise Secrets with the keys specified in the inputs or set them directly in the inputs.
Store your cache in a s3 bucket with custom keys.
This step allows to download a file from an S3 bucket.
Saves build cache using a cache key. This Step needs to be used in combination with Restore Cache.
Caches Carthage prebuilt frameworks. This Step needs to be used in combination with Restore Carthage Cache.
Caches the Pods folder. This Step needs to be used in combination with Restore Cocoapods Cache.
Saves Dart (Flutter) dependencies. This Step needs to be used in combination with Restore Dart Cache.
Saves Gradle caches. This Step needs to be used in combination with Restore Gradle Cache.
Caches the Gradle configuration cache folder used by Gradle. Uses the Bitrise Build Cache infrastructure.
Saves node_modules dependencies, used by NPM and Yarn. This Step needs to be used in combination with Restore NPM Cache.
Saves build cache using a cache key. This Step needs to be used in combination with Restore S3 Cache.
Saves Swift Package Manager dependency cache. This Step needs to be used in combination with Restore SPM Cache.
Run any custom script you want. The power is in your hands. Use it wisely!
Run scripts from a file
Delete a file or a folder. You can even use sudo to do so.
Sets the specified <application> attributes in the AndroidManifest.xml
Sets the specified package name in the AndroidManifest.xml
Sets some important values in AndroidManifest.xml
Sets the Android Manifest Version Code and Name to the specified value, in the target AndroidManifest.xml file for the next build.
Set environment variable
Set GEM_HOME
Sets the Git credentials used in a workflow
Sets the Bundle Identifier to the specified value, in the target Info.plist file for the next build.
Sets various values in the target Info.plist file for the next build.
Replaces Xcode's project PRODUCT_BUNDLE_IDENTIFIER setting.
Sets the Bundle Version and Bundle Short Version String to the specified value, in the target Info.plist file for the next build.
This Step helps you activate pre-installed Java (JDK) version on the build virtual machine.
Set macOS Time Zone
Sets specified NuGet private source to the NuGet source list for the next build.
Sets application version and build number in pubspec file and returns the new version info
Set the value of your iOS app's build number to the specified version number.
Sets the value of a key in the specified Info.plist file. A great way to inject variables into the plist.
Share environment variables between Pipeline Workflows.
Bitrise Snyk Step incorporates Snyk into your Bitrise workflows
Step for running SonarQube MSBuild Scanner CLI.
Runs SonarQube Scanner CLI
Step to inject static values from environment variables into Swift code files before compilation and Continuous deployment allowing us to not expose our production keys and values in statically in our code and store sensitive values safe.
Runs Generate Xcode project on your macOS project with Swift Package Manager
Runs SwiftFormat lint on the project
Runs Swiftlint on the project
Generates swiftlint reports in different formats, compatible with Bitrise test reports add-on
Notify Telegram groups about build status
Need some time? This step helps by giving you the current time in two formats! ISO_DATETIME and even UNIX_TIMESTAMP! What more could a mere mortal ask for?
Download your localization files from Translized directly from your pipeline.
Triggers a workflow on bitrise.io with specified parameters.
Runs tslint with the given args.
Run Tuist from Bitrise's CI environment
Unzip an archive into a directory
Updates a JIRA issues field like Fix version or Links. Existing value is overwritten.
Updates the release status in Jira, marking it for release. The step includes the option to set the release as a draft.
Updates Xcode's project file signing config to use a specific certificate and provisioning profile
Scan source code to extract all HTTP/HTTPS URLs and execute an analysis of those URLs with SSLLabs
Connects with Cisco VPN provided by VPN3000 Concentrator, Juniper/Netscreen, IOS and PIX using vpnc
Wait for the emulator to finish boot
Install web translate it and perform a pull operation.
Gets version and build number of the project
Starts an Xcode simulator.
This Bitrise step runs XcodeGen to generate a project.
Extract screenshots, attachments, code coverage, logs, & more from Xcode 11+ xcresult
This step will zip a directory and then export the path as an environment variable
Runs the zipalign Android build tool on a signed APK.