Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This is a set of Kettle plugins and tools to help manage runtime and lifecycle environments.


Run mvn clean install or simply download a release from the github project.


Copy file target/kettle-environment-<version>.jar to a new folder <PDI>/plugins/kettle-plugins/ Or simply unzip a release in the <PDI>/plugins folder.


The environments are stored in folder your $HOME/.kettle/ in a separate metastore under environment/metastore.

You can point this folder somewhere else with the environment variable ENVIRONMENT_METASTORE_FOLDER


When you start Spoon you'll now see a dialog with a list of environments. You can use the Add Default button to add the default environment.

IMPORTANT: make sure to configure this Default environment to match your needs.

Once you created and selected an environment you'll see it's name in the upper right corner of your transformations and jobs.


The Maitre.bat or scripts from the kettle-needful-things project allows you to specify in which environment you want to execute your transformation or job.

Configuration System Configuration

The only option available right now is the option to disable to whole Kettle environment system.

Environment options

  • Name : A unique name identifying your environment
  • Description : A description
  • Company : Free to use metadata
  • Department : Free to use metadata
  • Project : Free to use metadata
  • Version : Free to use metadata
  • Environment base folder : Manages environment variable ENVIRONMENT_HOME and specified the base of your folder structures.
  • Kettle home folder : Manages environment variable KETTLE_HOME which defines the location of and a bunch more.
  • MetaStore base folder : Manages environment variable PENTAHO_METASTORE_FOLDER which tells the system where to store metastore elements.
  • SpoonGit : Not used yet, for future integration with pdi-git-plugin
  • Unit tests base path : Manages environment variable UNIT_TESTS_BASE_PATH. This allows your unit tests to reference a relative path.
  • DataSets CSV Folder : Manages environment variable DATASETS_BASE_PATH. This allows your CSV data sets (for unit testing) to be stored in a certain folder.
  • Execute executions in environment home : When enabled every job or transformation needs to be located in ${ENVIRONMENT_HOME} or a subdirectory. You can use this to avoid accidental execution of a transformation or job from another environment.
  • System variables to set : You can specify a list of variables and values to set whenever the environment is used. You can (but don't need to) specify a description for each.

The default options metastore, unit tests and data sets are such that all data and metadata is stored under the environment home folder. This way you can always check in your whole environment and project into version control.


Whenever you have suggestions or encounter bugs, please create an issue in this project


A set of Kettle plugins and tools to help manage runtime and lifecycle environments




No packages published