Как я могу удалить одно свойство из конвейера Jenkins? - PullRequest
0 голосов
/ 07 мая 2018

В моем многоотраслевом конвейере Jenkins я хочу использовать следующий код в моем Jenkinsfile:

def props = [
    parameters([
        string(
            defaultValue: "Value1",
            name: 'VALUE_NAME',
            description: 'Something'),
        string(
            defaultValue: "Value2",
            name: 'VALUE_NAME_v2',
            description: 'Something else')
])]
properties(props)

if(condition1) {
    // remove only VALUE_NAME
}

Но как я могу удалить свойство VALUE_NAME только в том случае, если условие1 верно? Я нашел только синтаксис:

props.removeAll { it.toString().contains('VALUE_NAME')}

^^ Это удаляет все параметры, даже если мои переменные не имеют имен с общим телом, как в этом примере ("VALUE_NAME").
И с этим синтаксисом после однократного запуска сборки я не вижу кнопку «Построить с параметрами» в пользовательском интерфейсе задания, но «Построить сейчас».

1 Ответ

0 голосов
/ 08 мая 2018

Моя работа:

dep params = [
    string(
        defaultValue: "Value1",
        name: 'VALUE_NAME_v1',
        description: 'Something'),
    string(
        defaultValue: "Value2",
        name: 'VALUE_NAME_v2',
        description: 'Something else')
]
if(condition1) {
    // remove only VALUE_NAME_v1
    params.removeAll {it.toString().contains("VALUE_NAME_v1")}
}
def props = [
    parameters(params)]
properties(props)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...