Thanks Oleg. I can create an issue on the github repo for this, but I'm 99% sure i'm the only one in the world using this plugin. (This was created by a contractor for our company)
I can post a sample config (I think?) but since it depends on external scripts its hard to encapsulate just in a job config xml.
The logic of the plugin is thus:
Config:
Parameter 1 Name (Available to Param 2 external script as an environment variable)
Parameter 1 External Script (script to execute to generate values for parameter)
Parameter 2 Name
Parameter 2 External Script (updates using AJAX, script executes with the value of parameter 1 as a env variable)
So say script1.sh returns "foo" and "bar", that will be in the drop down for parameter 1. When you select a value, it executes script2.sh with Value1="foo". So say this script2.sh returns "bar" and "baz", this is what shows up in the dropdown for Value2. This all works perfectly still. The problem, is once you select "baz" in script 2, Value2=baz does not show up in the environment anymore for the build. However, Value1=bar still works.
This is my job config file if it helps. not really much to see though.
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description></description>
<keepDependencies>false</keepDependencies>
<properties>
<hudson.model.ParametersDefinitionProperty>
<parameterDefinitions>
<com.phase2technology.jenkins.RestrictedStringDynamicParameterDefinition plugin="restricted-parameter-list@1.0">
<name>VALUE1</name>
<description>TEST</description>
<command>/var/lib/jenkins/test/printfoobar.sh</command>
<dynamicName>VALUE2</dynamicName>
<dynamicCommand>/var/lib/jenkins/test/printbarbaz.sh</dynamicCommand>
</com.phase2technology.jenkins.RestrictedStringDynamicParameterDefinition>
</parameterDefinitions>
</hudson.model.ParametersDefinitionProperty>
</properties>
<scm class="hudson.scm.NullSCM"/>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers/>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>env</command>
</hudson.tasks.Shell>
</builders>
<publishers/>
<buildWrappers/>