firebase / firebase-tools

The Firebase Command Line Tools
MIT License
3.97k stars 915 forks source link

Firebase RemoteConfig generates invalid JSON with the rollout feature #7311

Open unxavi opened 2 weeks ago

unxavi commented 2 weeks ago

[REQUIRED] Environment info

firebase-tools: 13.11.2

Platform: macOS/Ubuntu

[REQUIRED] Test case

Create a feature flag with a rollout plan, download the JSON and try to upload this JSON to another project weather on the Web Console or using the firebase tools command line, it fails and says that the json is not a valid remote config json.

Error: HTTP Error: 400, [VALIDATION_ERROR]: INVALID_ROLLOUT_PARAM_VALUE The template has an invalid rollout id : rollout_4

[REQUIRED] Steps to reproduce

Create a feature flag with a rollout plan, download the JSON and try to upload this JSON to another project weather on the Web Console or using the firebase tools command line, it fails and says that the json is not a valid remote config json.

[REQUIRED] Expected behavior

The configuration should be created for the feature flags with the rollout plan

[REQUIRED] Actual behavior

The import fails

aalej commented 2 weeks ago

Hey @unxavi, thanks for reporting. I’m able to reproduce the issue you mentioned. When using the rollouts feature and trying to upload the Remote Config JSON template to different project, an error is being raised. I’ll raise this to our engineering team.

unxavi commented 2 weeks ago

@aalej thanks, a perfect use case is when you have different firebase environments (dev, stage, pro) for example. Another thing that I notice is that the json doesn't contain the rollout name nor description, so that's never going to be recreated as it if deleted

Davtyanag commented 6 days ago

[js-example.zip](https://github.com/user-attachments/files/15972347/js-example.zip)

hi guys, I have same issue, I've attached js file which has transfers from one project to another and issue message: '[VALIDATION_ERROR]: INVALID_ROLLOUT_PARAM_VALUE The template has an invalid rollout id : rollout_11' }, arises. Thanks