Skip to main content

releases

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

Overview

Namereleases
TypeResource
Idfirebase.rules.releases

Fields

The following fields are returned by SELECT queries:

Successful response

NameDatatypeDescription
namestringRequired. Format: projects/{project_id}/releases/{release_id}
createTimestring (google-datetime)Output only. Time the release was created.
rulesetNamestringRequired. Name of the Ruleset referred to by this Release. The Ruleset must exist for the Release to be created.
updateTimestring (google-datetime)Output only. Time the release was updated.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectprojectsId, releasesIdGet a Release by name.
listselectprojectsIdfilter, pageSize, pageTokenList the Release values for a project. This list may optionally be filtered by Release name, Ruleset name, TestSuite name, or any combination thereof.
createinsertprojectsIdCreate a Release. Release names should reflect the developer's deployment practices. For example, the release name may include the environment name, application name, application version, or any other name meaningful to the developer. Once a Release refers to a Ruleset, the rules can be enforced by Firebase Rules-enabled services. More than one Release may be 'live' concurrently. Consider the following three Release names for projects/foo and the Ruleset to which they refer. Release Name -> Ruleset Name * projects/foo/releases/prod -> projects/foo/rulesets/uuid123 * projects/foo/releases/prod/beta -> projects/foo/rulesets/uuid123 * projects/foo/releases/prod/v23 -> projects/foo/rulesets/uuid456 The relationships reflect a Ruleset rollout in progress. The prod and prod/beta releases refer to the same Ruleset. However, prod/v23 refers to a new Ruleset. The Ruleset reference for a Release may be updated using the UpdateRelease method.
patchupdateprojectsId, releasesIdUpdate a Release via PATCH. Only updates to ruleset_name will be honored. Release rename is not supported. To create a Release use the CreateRelease method.
deletedeleteprojectsId, releasesIdDelete a Release by resource name.

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
projectsIdstring
releasesIdstring
filterstring
pageSizeinteger (int32)
pageTokenstring

SELECT examples

Get a Release by name.

SELECT
name,
createTime,
rulesetName,
updateTime
FROM firebase.rules.releases
WHERE projectsId = '{{ projectsId }}' -- required
AND releasesId = '{{ releasesId }}' -- required;

INSERT examples

Create a Release. Release names should reflect the developer's deployment practices. For example, the release name may include the environment name, application name, application version, or any other name meaningful to the developer. Once a Release refers to a Ruleset, the rules can be enforced by Firebase Rules-enabled services. More than one Release may be 'live' concurrently. Consider the following three Release names for projects/foo and the Ruleset to which they refer. Release Name -> Ruleset Name * projects/foo/releases/prod -> projects/foo/rulesets/uuid123 * projects/foo/releases/prod/beta -> projects/foo/rulesets/uuid123 * projects/foo/releases/prod/v23 -> projects/foo/rulesets/uuid456 The relationships reflect a Ruleset rollout in progress. The prod and prod/beta releases refer to the same Ruleset. However, prod/v23 refers to a new Ruleset. The Ruleset reference for a Release may be updated using the UpdateRelease method.

INSERT INTO firebase.rules.releases (
data__name,
data__rulesetName,
projectsId
)
SELECT
'{{ name }}',
'{{ rulesetName }}',
'{{ projectsId }}'
RETURNING
name,
createTime,
rulesetName,
updateTime
;

UPDATE examples

Update a Release via PATCH. Only updates to ruleset_name will be honored. Release rename is not supported. To create a Release use the CreateRelease method.

UPDATE firebase.rules.releases
SET
data__release = '{{ release }}',
data__updateMask = '{{ updateMask }}'
WHERE
projectsId = '{{ projectsId }}' --required
AND releasesId = '{{ releasesId }}' --required
RETURNING
name,
createTime,
rulesetName,
updateTime;

DELETE examples

Delete a Release by resource name.

DELETE FROM firebase.rules.releases
WHERE projectsId = '{{ projectsId }}' --required
AND releasesId = '{{ releasesId }}' --required;