I'd like to create a Jenkins job where I do a backup and deploy of certain 
databases to a remote MongoDB instance. I'd like this build to be 
parameterized so that at build time the user chooses from a list of valid 
MongoDB hostnames and then once the user selects the valid DB hostname, a 
second list parameter choice box will be dynamically populated with all 
valid database names on that hostnames. Then once The user has selected the 
DB name, that will be stored in a parameter "DB" that can be passed to a 
Build Step "Execute Shell" script to do the actual work.

My problem is that I need for a way to execute a script in the Jenkins 
Dynamic Parameter (Cascading) Plug-in that will run a shell (or ideally, 
python) script that will return a list of valid DB names on the selected 
host. I'm not able to get groovy script portion of the plugin to execute 
shell commands on the local OS (like the"Execute Shell" build step does).

Ideally I'd like to run something like this where "MONGOHOST" is the first 
parameter chosen by the user:

#!/usr/bin/env pythonfrom pymongo import MongoClient
client = MongoClient('mongodb://${MONGOHOST}:27017/')
choicelist = client.database_names()
client.close()

I'd then like "choicelist" to be presented in such a way as they become 
populated as the available choices for a "DB" parameter.

How can I achieve this, especially since the Dynamic Choice parameter only 
accepts groovy script and not native python?

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to