Дженкинс: передайте несколько значений параметра "расширенный выбор" с помощью 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¶meter2=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)