I have found a change in behavior of how the Environment Injector Plugin interacts with the Jenkins Release Plugin after EnvInject v1.73
In a minimal test job:
I use envInject to “Prepare an environment for the run” and I set a variable to a specific number in the "Properties Content" field, say: VerNumber4=1234
I use the Release plugin to set parameters in the section “Configure release build”. I create a String Parameter with the same name as that created in the "Prepare an environment for the run" section.
I save the config, then run the job by clicking the “Release” link on the left side of the window. This prompts for a value for the String Parameter specified by the “Configure release build” section.
My build action, for the purpose of this test, simply echoes the environment variable values to the console. (I use a “DOS batch file” for this test and all of my builds)
When I use envInject v1.73, the prompted-for value overrides the value in the “Prepare an environment for the run” section.
When I use envInject v1.83, the prompted-for value does not override the value in the “Prepare an environment for the run” section.
String Parameter in the Release section that have different names from the “Prepare an environment for the run” parameters are set as expected. It’s just when the names are the same that the Release plugin doesn’t override.
There is a check box named “Override build parameters”, but its setting does not change the result.
The goal of the Release plugin is to have special behavior when the job is run using the Release link instead of the Build Now link. In my case, I wish to specify a value at build time that overrides that configured in the job.
I can continue to use EnvInject 1.73 for the time being, but at some point I will need to upgrade and will loose the Release plugin functionality.
(I don't know how to get jpi file for the plugin versions between 1.73 and 1.83 for testing...)