Development Mode Guide for PlentyONE Plugin Developers

What is Development Mode?

Development Mode (DevMode) is designed for plugin developers to efficiently test GIT-sourced plugins within a running PlentyONE system. It allows rapid synchronization of a plugin from a specific GIT repository branch directly into the installed system, bypassing the full plugin deployment process.

How it works

To use DevMode, the plugin must first be installed as a regular GIT plugin (by adding its repository and credentials if necessary, then installing it within a plugin set). Once installed:

  1. Enable Development Mode in the Plenty backend for the specific plugin set you intend to use.

enable development
  1. Integrate CI pipeline either with CLI or GitHub Action (or similar), as detailed below.

DevMode functionality

  • Code Check: DevMode performs a security-focused code check on the PHP code. Note: It does not conduct a full static code analysis like a regular build.

  • Resource Deployment: Publishes all frontend resources (CSS/JS) and clears necessary caches, including invalidating the PHP cache, to create a quick testing environment.

  • Quick Sync: Syncs your plugin’s latest code from its GIT repository.

Important Considerations

  • DevMode is for testing only in a development environment.

  • It is not intended for publishing plugins to the marketplace. → Use the full deploy process for final plugin versions.

  • Production use is rare and must be approved by the system owner, due to its volatile nature.

  • CI/CD pipelines can be integrated to automate DevMode builds. → Samples are available for CLI and GitHub Actions to streamline development workflows.

Best Practices

  • Always use a separate plugin set for DevMode (never your live production set).

  • Prefer GitHub Actions CI, as it includes error formatting to help identify faulty code lines.

CI/CD Integration

GitHub Action-based CI pipeline

You can integrate DevMode builds automatically on GitHub Actions or other CI tools.

With a CI Pipeline, on each run (push or manual trigger):

  1. Request a fresh login token from PlentyONE (credentials from GitHub Secrets).

  2. Trigger a Dev Mode build for the configured system and plugin set.

  3. Monitor the build until completion.

  4. Report success ✅ or detailed errors ❌.

👉 Find a sample pipeline and documentation here https://github.com/plentymarkets/plugin-hello-world

CLI-based CI pipeline

  1. Clone and install dev-sync:

    git clone https://github.com/plentymarkets/dev-sync
  2. Add your system credentials in ~/.plenty_config.yml.

  3. Enable DevMode on your plugin set in Plenty.

  4. Commit, push and trigger a build:

    git commit -am "my change"
    git push
    syncPluginSet <PLENTY_ID> <SET_ID>
  5. Find the full usage documentation in the repository readme: https://github.com/plentymarkets/dev-sync