Firebase releases API has started to return empty respones to listing requests. Handle those by checking if the requested resource key is present in the response object instead of failing unexpectedly with KeyError.
Example traceback:
[17:39:37 08-11-2023] INFO acting_manager_mixin.py:42 > >>> GET https://firebaseappdistribution.googleapis.com/v1/projects/228333310124/apps/1:228333310124:ios:5e439e0d0231a788ac8f09/releases?orderBy=createTimeDesc&pageSize=1&alt=json None
[17:39:38 08-11-2023] INFO acting_manager_mixin.py:47 > <<< {}
[17:39:38 08-11-2023] WARNING cli_app.py:121 > Executing "firebase-app-distribution get-latest-build-version" failed unexpectedly. Detailed logs are available at "/var/folders/wr/c44p23x10f302_kfbj32z0p80000gn/T/codemagic-08-11-23.log". To see more details about the error
, add "--verbose" command line option.
[17:39:38 08-11-2023] ERROR cli_app.py:123 > Exception traceback:
Traceback (most recent call last):
File "/Users/priit/development/nevercode/cli-tools/src/codemagic/cli/cli_app.py", line 213, in invoke_cli
CliApp._running_app._invoke_action(args)
File "/Users/priit/development/nevercode/cli-tools/src/codemagic/cli/cli_app.py", line 170, in _invoke_action
return cli_action(**action_args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/priit/development/nevercode/cli-tools/src/codemagic/cli/cli_app.py", line 465, in wrapper
return func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/priit/development/nevercode/cli-tools/src/codemagic/tools/firebase_app_distribution/actions/get_latest_build_version_action.py", line 23, in get_latest_build_version
releases = self.client.releases.list(app_identifier, limit=1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/priit/development/nevercode/cli-tools/src/codemagic/google/resource_managers/mixins/listing_manager_mixin.py", line 68, in list
resources.extend(self.resource_type(**item) for item in response[self.resource_type.get_label()])
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'releases'
Firebase releases API has started to return empty respones to listing requests. Handle those by checking if the requested resource key is present in the response object instead of failing unexpectedly with
KeyError
.Example traceback:
Updated actions:
firebase-app-distribution get-latest-build-version
firebase-app-distribution releases list