Skip to main content

releases

Creates, updates, deletes, gets or lists a releases resource.

Overview

Namereleases
TypeResource
Idfirebase.appdistribution.releases

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
namestringThe name of the release resource. Format: projects/{project_number}/apps/{app}/releases/{release}
acceptedInvitationCountinteger (int32)Output only. Number of testers with accepted invitations.
androidPackageRegistrationStatestringOutput only. Registration state of the Android package (BinaryType.APK). (ANDROID_PACKAGE_REGISTRATION_STATE_UNSPECIFIED, REGISTERED, NOT_REGISTERED, REGISTERED_WITH_ANOTHER_CERTIFICATE_FINGERPRINT)
binaryDownloadUristringOutput only. A signed link (which expires in one hour) to directly download the app binary (IPA/APK/AAB) file.
binaryTypestringOutput only. Type of binary. (BINARY_TYPE_UNSPECIFIED, IPA, APK, AAB)
buildVersionstringOutput only. Build version of the release. For an Android release, the build version is the versionCode. For an iOS release, the build version is the CFBundleVersion.
createTimestring (google-datetime)Output only. The time the release was created.
displayVersionstringOutput only. Display version of the release. For an Android release, the display version is the versionName. For an iOS release, the display version is the CFBundleShortVersionString.
expireTimestring (google-datetime)Output only. The time the release will expire.
feedbackCountinteger (int32)Output only. Number of feedback reports left by testers.
firebaseConsoleUristringOutput only. A link to the Firebase console displaying a single release.
installationCountinteger (int32)Output only. Number of testers who have downloaded this release.
openInvitationCountinteger (int32)Output only. Number of testers who were invited (incl. expired invitations), but did not (yet) accept the invitation.
releaseNotesobjectNotes about the release. (id: GoogleFirebaseAppdistroV1ReleaseNotes)
testStatestringOutput only. The overall state of tests run on this release (TEST_STATE_UNSPECIFIED, NO_TESTS_REQUESTED, IN_PROGRESS, PASSED, FAILED, INCONCLUSIVE)
testingUristringOutput only. A link to the release in the tester web clip or Android app that lets testers (which were granted access to the app) view release notes and install the app onto their devices.
updateTimestring (google-datetime)Output only. The time the release was last updated.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectprojectsId, appsId, releasesIdGets a release.
listselectprojectsId, appsIdpageSize, pageToken, filter, orderByLists releases. By default, sorts by createTime in descending order.
patchupdateprojectsId, appsId, releasesIdupdateMaskUpdates a release.
batch_deletedeleteprojectsId, appsIdDeletes releases. A maximum of 100 releases can be deleted per request.
distributeexecprojectsId, appsId, releasesIdDistributes a release to testers. This call does the following: 1. Creates testers for the specified emails, if none exist. 2. Adds the testers and groups to the release. 3. Sends new testers an invitation email. 4. Sends existing testers a new release email. The request will fail with a INVALID_ARGUMENT if it contains a group that doesn't exist.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
appsIdstring
projectsIdstring
releasesIdstring
filterstring
orderBystring
pageSizeinteger (int32)
pageTokenstring
updateMaskstring (google-fieldmask)

SELECT examples

Gets a release.

SELECT
name,
acceptedInvitationCount,
androidPackageRegistrationState,
binaryDownloadUri,
binaryType,
buildVersion,
createTime,
displayVersion,
expireTime,
feedbackCount,
firebaseConsoleUri,
installationCount,
openInvitationCount,
releaseNotes,
testState,
testingUri,
updateTime
FROM firebase.appdistribution.releases
WHERE projectsId = '{{ projectsId }}' -- required
AND appsId = '{{ appsId }}' -- required
AND releasesId = '{{ releasesId }}' -- required
;

UPDATE examples

Updates a release.

UPDATE firebase.appdistribution.releases
SET
data__releaseNotes = '{{ releaseNotes }}',
data__name = '{{ name }}'
WHERE
projectsId = '{{ projectsId }}' --required
AND appsId = '{{ appsId }}' --required
AND releasesId = '{{ releasesId }}' --required
AND updateMask = '{{ updateMask}}'
RETURNING
name,
acceptedInvitationCount,
androidPackageRegistrationState,
binaryDownloadUri,
binaryType,
buildVersion,
createTime,
displayVersion,
expireTime,
feedbackCount,
firebaseConsoleUri,
installationCount,
openInvitationCount,
releaseNotes,
testState,
testingUri,
updateTime;

DELETE examples

Deletes releases. A maximum of 100 releases can be deleted per request.

DELETE FROM firebase.appdistribution.releases
WHERE projectsId = '{{ projectsId }}' --required
AND appsId = '{{ appsId }}' --required
;

Lifecycle Methods

Distributes a release to testers. This call does the following: 1. Creates testers for the specified emails, if none exist. 2. Adds the testers and groups to the release. 3. Sends new testers an invitation email. 4. Sends existing testers a new release email. The request will fail with a INVALID_ARGUMENT if it contains a group that doesn't exist.

EXEC firebase.appdistribution.releases.distribute
@projectsId='{{ projectsId }}' --required,
@appsId='{{ appsId }}' --required,
@releasesId='{{ releasesId }}' --required
@@json=
'{
"testerEmails": "{{ testerEmails }}",
"groupAliases": "{{ groupAliases }}"
}'
;