Javascript to enhance parameterized builds
javascript, jenkins
Solution
Check out the Active Choices Plugin it does exactly what you're looking for:
jenkins-ci.org - Active Choices Plugin github.com - Active Choices Plugin
A Jenkins UI plugin for generating and rendering multiple value options for a job parameter. The parameter options can be dynamically generated from a Groovy script and can respond to changes in other job parameters. The value options can be rendered as combo-boxes, check-boxes, radio-buttons or rich HTML. Active Choices strives to provide in a single plugin functionality found scattered among several pre-existing plugins and some unique capabilities that are not available yet.
The Active Choices plug-in provides additional Jenkins parameter types that can be rendered as user interface (UI) controls in job forms.
Once the plugin is installed three new parameter types become available:
- Active Choices Parameter
- Active Choices Reactive Parameter
- Active Choices Reactive Reference Parameter
Active Choices parameters allow users to select value(s) for a job parameter. Parameter values can be:
- dynamically generated (using Groovy or a Scriptler script)
- dynamically updated based on other UI parameters
- multi-valued (can have more than one value)
- rendered with a variety of UI controls, including dynamic HTML
Problem
The 'parameterized' builds in Jenkins are a bit limited. What if I want to have options that are related to one another? For example 2 drop down lists. The selection from the first one controls the options in the second... I don't really see any prescribed way to implement this, but a thought (and it feels super-hacky) would be to use javascript. I've noticed you can enter `<script>` tags in the description attribute of parameters. Maybe a place to drop in some js? Also looks like prototype.js ships with the system. So just how bad an idea is that, or is there a 'correct' way to do such a thing?