The project is in a healthy, maintained state
Plugin for automating rustore publishing
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

 Project Readme

rustored

fastlane Plugin Badge Made with Love

Fastlane plugin for uploading APK and AAB files to an existing RuStore draft version through the public API.

The plugin does not create a draft, send it to moderation, or publish it. Pass the version_id of a draft created in the RuStore Console or through the RuStore API.

Prerequisites

  • The application must have at least one active version in RuStore.
  • The API key must have access to the application and the required APK/AAB upload method.
  • A draft version and its version_id must already exist.
  • Before uploading an AAB, configure its publication signature in the RuStore Console.

Install

fastlane add_plugin rustored

Actions

rustored_publish_aab

Uploads an AAB file to the draft.

rustored_publish_aab(
  key_id: ENV["RUSTORE_KEY_ID"],
  private_key: ENV["RUSTORE_PRIVATE_KEY"],
  package_name: "com.example.app",
  version_id: 123456,
  aab_path: "app/build/outputs/bundle/release/app-release.aab"
)

rustored_publish_apk

Uploads an APK file to the draft.

rustored_publish_apk(
  key_id: ENV["RUSTORE_KEY_ID"],
  private_key: ENV["RUSTORE_PRIVATE_KEY"],
  package_name: "com.example.app",
  version_id: 123456,
  apk_path: "app/build/outputs/apk/release/app-release.apk",
  services_type: "Unknown",
  is_main_apk: true
)

The plugin signs the auth request and receives the RuStore public token automatically. Pass private_key exactly as copied from the RuStore Console: it is already Base64-encoded and must not be encoded again.

services_type accepts Unknown (the default) or HMS. is_main_apk is required by the RuStore API.

RuStore does not show an API-uploaded artifact in the Console until the draft is sent to moderation. Builds containing new sensitive permissions must be uploaded and declared through the Console instead.

Options

Shared:

Option Env Required
key_id RUSTORE_KEY_ID yes
private_key RUSTORE_PRIVATE_KEY yes
package_name RUSTORE_PACKAGE_NAME yes
version_id RUSTORE_VERSION_ID yes

AAB:

Option Env Required
aab_path RUSTORE_AAB_PATH yes

APK:

Option Env Required
apk_path RUSTORE_APK_PATH yes
services_type RUSTORE_SERVICES_TYPE no (Unknown)
is_main_apk RUSTORE_IS_MAIN_APK yes

Development

bundle exec rake

API reference: authorization, APK upload, and AAB upload.