The Home for
Magento Excellence

Explore. Discover. Elevate. #magento

162
Modules Tested
98
Ready for Magento 2.4
64
Need Your Help
Popular Module Stale v4.4.0
Ready to Install
Build tests pass on Magento 2.4.8-p3

ConfigImportExport

semaio/magento2-configimportexport

This extension provides CLI commands for Magento 2 to import/export system configuration data.

714,406
Downloads
2x above avg
161
GitHub Stars
2x above avg
1y ago
Last Release
4
Open Issues

Quality Score

3/5
Installs via Composer
DI compiles correctly
Templates compile
PHPStan

Recent Test History

Each release is tested against the latest Magento version at that time.

v4.4.0 on Magento 2.4.8-p3
Dec 16, 2025
v4.4.0 on Magento 2.4.8-p2
Aug 14, 2025
v4.4.0 on Magento 2.4.8
May 21, 2025
v4.4.0 on Magento 2.4.7-p4
Feb 15, 2025
v4.4.0 on Magento 2.4.7-p3
Oct 22, 2024
v4.4.0 on Magento 2.4.7-p2
Sep 8, 2024

+5 older tests

GitHub Repository
Source code & docs
Packagist
Version history
Issues & Support
Get help or report bugs

Share This Module's Status

ConfigImportExport Magento compatibility status badge

README

Loaded from GitHub

ConfigImportExport

This extension provides CLI commands for Magento 2 to import/export system configuration data.

Why this extension?

While Magento 2 offers the app:config:dump / app:config:import commands, they're limited to one environment and a little bit hard to manage, especially in CI/CD setups.

This extension supports managing configuration values for multiple environments (production, staging, etc.) out-of-the-box, defining and overwriting base configuration values in a specific environment. It also allows different file formats (e.g., YAML, JSON). In general, it makes that process a bit more streamlined and easier to manage, with the added benefit of generalization and cross-compatibility with other agencies/merchants using this.

Installation

Add the package to your composer.json

composer require semaio/magento2-configimportexport

Enable and install the module

php bin/magento module:enable Semaio_ConfigImportExport
php bin/magento setup:upgrade

Facts

  • Supported Magento versions are 2.3 and 2.4.
  • Supported PHP versions are 7.2, 7.3, 7.4, and 8.1.

Functionality

This module is a work in progress and will be extended in the future with more functionality and support for other file formats.

File formats

This module currently supports the following file formats:

  • YAML (default)
  • JSON

See docs/file-formats.md for more information and examples.

Import config data

See docs/config-import.md for more information.

Export config data

See docs/config-export.md for more information.

Usage with Deployer

When using a push approach in CI/CD, the environment variables should be replaced on the runner and not on the initiating host or target host. For this, you can use this Deployer task to do this and import the config settings;

task('magento:config:set', function () {
    $resolver = new \Semaio\ConfigImportExport\Model\Resolver\EnvironmentVariableResolver();
    $glob = glob('config/store/**/*.yaml');
    array_walk($glob, function ($file) use ($resolver) {
        if (file_put_contents($tempFile = tempnam('/tmp', get('clientslug')), $resolver->resolveValue(file_get_contents($file)))) {
            upload($tempFile, get('release_path') . '/' . $file);
        }
    });
    run('{{bin/php}} {{release_path}}/bin/magento config:data:import {{release_path}}/config/store ' . get('environment'));
});

Support

If you encounter any problems or bugs, please create an issue on GitHub.

Contribution

Any contribution to the development of MageSetup is highly welcome. The best possibility to provide any code is to open a pull request on GitHub.

Licence

Open Software License (OSL 3.0)

Contributors

Thanks to all contributors who invested their valuable time to contribute to this module. Much appreciated!

Inspiration

This module is inspired by the awesome n98-magerun plugin "HarrisStreet ImpEx" by @SchumacherFM for Magento 1 which you can find here.

Copyright

(c) 2016-2022 semaio GmbH / Rouven Alexander Rieker

This content is fetched directly from the module's GitHub repository. We are not the authors of this content and take no responsibility for its accuracy, completeness, or any consequences arising from its use.

Back to All Modules