Параметризованный планировщик в скриптовом конвейере - PullRequest
0 голосов
/ 22 мая 2019

Я переключился с declerativ конвейера на скриптовый конвейер. Все работает нормально, только плагин Parameterized Scheduler создает проблемы. Если у меня есть один триггер, он работает, и конвейер запланирован. Если я добавлю еще один триггер, работает только второй. Может быть, это проблема синтаксиса, но все, что я пробовал, не работает. Есть идеи?

properties([ 
    parameters([            
        booleanParam (defaultValue: true, description: 'test', name: 'test')
    ]),
    pipelineTriggers([   
        parameterizedCron('15 20 * * * test=true'),
        parameterizedCron('05 20 * * * test=false')
    ])      
])//properties

1 Ответ

0 голосов
/ 28 мая 2019

в соответствии с официальной документацией ваш синтаксис неверен, вы пропускаете %. Также вы можете использовать одну многострочную parameterizedCron.

pipeline {
    agent any
    parameters {
      string(name: 'PLANET', defaultValue: 'Earth', description: 'Which planet are we on?')
      string(name: 'GREETING', defaultValue: 'Hello', description: 'How shall we greet?')
    }
    triggers {
        cron('* * * * *')
        parameterizedCron('''
# leave spaces where you want them around the parameters. They'll be trimmed.
# we let the build run with the default name
*/2 * * * * %GREETING=Hola;PLANET=Pluto
*/3 * * * * %PLANET=Mars
        ''')
    }
    stages {
        stage('Example') {
            steps {
                echo "${GREETING} ${PLANET}"
                script { currentBuild.description = "${GREETING} ${PLANET}" }
            }
        }
    }
}

Так что в вашем случае это должно быть

properties([ 
    parameters([            
        booleanParam (defaultValue: true, description: 'test', name: 'test')
    ]),
    pipelineTriggers([   
        parameterizedCron('''
             15 20 * * * %test=true
             05 20 * * * %test=false''')
    ])      
])//properties

Также обратите внимание, что существует эта открытая проблема , которая указывает, что для того, чтобы ваш триггер зарегистрировался для сценариев, его нужно было бы запустить вручную как минимум дважды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...