If this option is checked, Jenkins makes it possible to set an environment for the build job (or for each run on a matrix project) by defining environment variables and execute a script (a setup script).

All these actions will be executed before a SCM checkout.

By default, after the set up, only injected variables (with Jenkins variables) will be available in the build scripts, in the Jenkins post-actions, and so on.

Default inherited environment variables (inherited variables by the Jenkins process which often contains machine-specific information, like PATH, TIMEZONE, etc.) can be unset if you enable the envInject property and check Unset system variables in the node configuration page.