Exporting and importing feature flags: What do you think?
As your software application develops into an increasingly complex beast, you might find that you’d like to have distinct environments for development, testing, and production.
It’s definitely possible to separate these environments within a single instance of Unleash, and for quite a few users, that’s enough.
Still, there are many reasons why you might find that you really need multiple instances. You could, for example, create an extra layer of isolation between environments and avoid potential conflicts. You could keep your error risk down and have a better sense of application reliability and stability.
That said, managing features across multiple instances can be a lot of work. Here’s where Unleash’s new feature export/import functionality comes in, available as of Unleash version 4.22.
Why feature flag export/import is pretty great
In a nutshell: The feature export/import functionality in Unleash simplifies the process of moving features between multiple instances. It also makes it easier to move feature flags within a single instance between environments.
In an even smaller nutshell: Feature export/import is a great way to improve efficiency, keep your errors down, and gain even greater control over your feature flags.
When a flag is moved using export/import, you’ll be able to preserve your feature configurations. This way all your environments remain consistent. You’ll find this helps improve efficiency and give you better control over your feature flags.
Bonus: Should you migrate from open-source to Enterprise versions of Unleash, you can use the feature export/import functionality to ensure a smooth transition.
Exporting feature flags
With Unleash’s search-driven export functionality, exporting feature toggles is super easy.
Here’s what you do: a). Search for the specific features you want to export, b). Mark those features, c). Export. Really, that’s it.
We designed exporting feature flags to be close to “What You See is What You Get” (WYSIWYG), so you can be sure that you only export the features you want to export between Unleash instances.
![Export your feature flags between environments](https://cdn.getunleash.io/uploads/2023/04/export-feature-toggle.png)
Importing feature flags
Importing feature flags is a slightly different process, designed to be both efficiency and error-resistant. It looks like this:
- Set up your feature flag configuration by either uploading a configuration file or copy-pasting your export data directly in the code editor.
- Send your feature flags to Unleash’s servers for validation. You’ll get feedback on any errors or warnings you should be aware of. This makes sure your feature flag configurations are compatible with your target environment.
- Import your feature flags.
![You can also import feature flags across environments](https://cdn.getunleash.io/uploads/2023/04/import-feature-flags.png)
Importing with change requests
One more thing about importing features: You can also incorporate change requests.
How it works: When you import a new configuration change, you’ll automatically create a change request with all the necessary details.
This means you’ll be able to track changes easily. Plus you can make sure your configurations are always up to date across all your environments.
This makes it easy to track changes and ensure that the configurations are always up to date across all environments.
You’ll be happy to know that the import process respects all the Role-Based Access Control (RBAC) permissions. In other words, only authorized users can approve and deploy their designated feature flags.
So what do you think?
This is a new functionality of Unleash. We want to make sure you get the most out of it.
How did we do? What problems are you solving using this new feature? How can we make the feature better?
Let us know in this quick survey.