A GitHub action to upload an Android .apk or .aab file to the Google Play Console
This action will help you upload an Android
.apkor
.aab(Android App Bundle) file to the Google Play Console using the Google Play Developer API v3.
You must provide one of either
serviceAccountJsonor
serviceAccountJsonPlainText
serviceAccountJson
The service account json private key file to authorize the upload request
serviceAccountJsonPlainText
The service account json in plain text, provided via a secret, etc.
packageName
Required: The package name, or Application Id, of the app you are uploading
releaseFile
DEPRECATED: Please switch to using
releaseFilesas this will be removed in the future
releaseFiles
CAVEAT: Either this or
releaseFileare required
The Android release file(s) to upload (.apk or .aab). Multiple files are separated by ','.
releaseName
The release name. Not required to be unique. If not set, the name is generated from the APK's versionName. If the release contains multiple APKs, the name is generated from the date.
track
Required: The track in which you want to assign the uploaded app.
Default:
production
alpha,
beta,
internal,
production,
internalsharing
inAppUpdatePriority
In-app update priority of the release. All newly added APKs in the release will be considered at this priority. Can take values in the range [0, 5], with 5 the highest priority.
Default:
0
[0, 5]
userFraction
Portion of users who should get the staged version of the app. Accepts values between 0.0 and 1.0 (exclusive-exclusive). Omitting this value will execute a full rollout.
whatsNewDirectory
The directory of localized whats new files to upload as the release notes. The files contained in the
whatsNewDirectoryMUST use the pattern
whatsnew-where
LOCALEis using the
BCP 47format, e.g. *
en-US- English/America *
de-DE- German/Germany *
ja-JP- Japanese/Japan
and contain plain
utf8encoded text with no extension on the file. The resulting directory in your project should look something like this:
projectDir/ └── whatsNewDirectory/ ├── whatsnew-en-US ├── whatsnew-de-DE └── whatsnew-ja-JPwhere
whatsNewDirectoryis the path you pass to the action.
mappingFile
The mapping.txt file used to de-obfuscate your stack traces from crash reports
internalSharingDownloadUrls
A JSON list containing the download urls for every release file uploaded using the
track
internalsharing
INTERNAL_SHARING_DOWNLOAD_URLS
The environment variable that is set when using the
track
internalsharing
internalSharingDownloadUrl
The download url for the last release file uploaded using the
track
internalsharing, useful when a single release file is uploaded
INTERNAL_SHARING_DOWNLOAD_URL
The environment variable that is set when using the
track
internalsharing
uses: r0adkll/[email protected] with: serviceAccountJson: ${{ SERVICE_ACCOUNT_JSON }} packageName: com.example.MyApp releaseFile: ${{ SIGNED_RELEASE_FILE}} track: production inAppUpdatePriority: 2 userFraction: 0.33 whatsNewDirectory: distribution/whatsnew mappingFile: app/build/outputs/mapping/release/mapping.txt