Дженкинс: передайте несколько значений параметра "расширенный выбор" с помощью URL-адреса

один из параметров в my Jenkins build является Расширенный Параметр Выбора который представляется как выбор значений, разделенных запятыми при вызове сборки с веб-страницы сборки.

однако мне также нужно вызвать сборку с помощью wget + URL.

так, в формате:

wget "${JENKINS_URL}/job/buildname/buildWithParameters?ECP_LIST=blah1&token=token"

скажем, мой расширенный параметр выбора ECP_LIST имеет возможные значения: blah1, blah2, blah3, blah4.

если я призываю, для пример:

wget "${JENKINS_URL}/job/buildname/buildWithParameters?ECP_LIST=blah3&token=token"

сборка начинается нормально со значения blah3 для параметра EPC_LIST.

однако, если я хочу вызвать его с 2 или более значениями, он просто передает пустое значение параметру.

Я попытался разделить значения, используя различные вещи, такие как пробелы, закодированные запятые, двоеточия. Мне не удалось найти ответ ни здесь, ни в google.

надеюсь, кто-то может мне помочь.

спасибо!

3 ответов


включая URL в одинарных кавычках работы:

wget '${JENKINS_URL}/job/buildname/buildWithParameters?ECP_LIST=blah3&token=token'

аналогично, если вы хотите запустить завиток через API Дженкинса с завитком, вы должны запустить:

curl -X POST 'http://api:xxxxxxxxxxxxxxxxxxxxxxx@jenkins.YOURSERVER.com/job/BUILDNAME/buildWithParameters?parameter2=blah&parameter2=blahblah'

я решил это, выбрав ECP_LIST несколько раз:

wget "${JENKINS_URL}/job/buildname/buildWithParameters?ECP_LIST=blah1&ECP_LIST=blah2&ECP_LIST=blah3&token=token"

в результате:

ECP_LIST=blah1,blah2,blah3

Я надеюсь, что это сработает для вас.


вам нужно закодировать свой URL, прежде чем передавать его в wget, я думаю, если ваши параметры содержат специальные символы. Я делаю это в Python. Я использую curl.

url_params = {'param1' : param_value1, 'param2' : param_value2}
params_encoded = urllib.urlencode(url_params)
params = ['curl.exe', '-v', '-X', 'POST', '--show-error', '%s?%s' % (JobUrl), params_encoded]
subprocess.check_call(params)