В моей мульти трубопроводного проекта Дженкинс я имею шаг ввода так:Дженкинс Groovy URL получить параметр
input message: 'Merge', parameters: [[$class: 'BooleanParameterDefinition', defaultValue: true, description: '', name: "Merge ${branchConfig.merge} to ${env.BRANCH_NAME}?"]]
Я начал эту работу, вызвав этот адрес:
http://user:[email protected]/job/myTest/job/dev/build
сейчас Я хочу добавить параметр GET следующим образом:
http://user:[email protected]/job/myTest/job/dev/build?skipInput=true
Вопрос теперь в том, как я могу получить этот параметр в groovy?
UPDATE: После первого комментария, я сделал следующее:
// Add parameter to skip MergeInput.
properties([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [[$class: 'BooleanParameterDefinition', name: 'skipMergeInput', defaultValue: false]]]])
И отрегулирован вход так:
input message: 'Merge', parameters: [[$class: 'BooleanParameterDefinition', defaultValue: params.skipMergeInput, description: '', name: "Merge ${branchConfig.merge} to ${env.BRANCH_NAME}?"]]
Когда я сейчас начинаю свою работу, он показывает мне всплывающее окно которые запрашивают значение, которое должно быть установлено. Но независимо от того, что я решаю, вход всегда ложный. Я пытаюсь выяснить, что происходит не так, и обновит мой пост.
ОБНОВЛЕНИЕ 2: Так что я продолжал отлаживать. Я добавил следующее в мой заводной сценария:
// Add parameter to skip MergeInput.
def doMerge = properties([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [[$class: 'BooleanParameterDefinition', name: 'doMerge', defaultValue: true]]]])
println doMerge;
Выход возвращает меня NULL, и когда я делаю что-то вроде
println params.doMerge
Он говорит мне, что Params не определен. Любая идея, что происходит не так?
UPDATE 3:
вызова URL:/Работа/dg_test/работа/мастер/buildWithParameters тест = истинный
Groovy Сценарий:
properties([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [[$class: 'BooleanParameterDefinition', name: 'test', defaultValue: false]]]])
println params.test
Результат:
No such property: params for class: groovy.lang.Binding
О, мы получаем строки из URL-адреса. Я еще не использовал строковые URL-адреса, это хорошо знать! Хорошо поймал :) – GabLeRoux