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:

Successful response

NameDatatypeDescription
namestringThe name of the release resource. Format: projects/{project_number}/apps/{app_id}/releases/{release_id}
binaryDownloadUristringOutput only. A signed link (which expires in one hour) to directly download the app binary (IPA/APK/AAB) file.
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.
firebaseConsoleUristringOutput only. A link to the Firebase console displaying a single release.
releaseNotesobjectNotes of the release. (id: GoogleFirebaseAppdistroV1ReleaseNotes)
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, orderBy, filterLists 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,
binaryDownloadUri,
buildVersion,
createTime,
displayVersion,
expireTime,
firebaseConsoleUri,
releaseNotes,
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__name = '{{ name }}',
data__releaseNotes = '{{ releaseNotes }}'
WHERE
projectsId = '{{ projectsId }}' --required
AND appsId = '{{ appsId }}' --required
AND releasesId = '{{ releasesId }}' --required
AND updateMask = '{{ updateMask}}'
RETURNING
name,
binaryDownloadUri,
buildVersion,
createTime,
displayVersion,
expireTime,
firebaseConsoleUri,
releaseNotes,
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 }}"
}';