条件触发Jenkins多分支管道
我有一个参数化的Jenkins多分支管道,使用GitHub repo作为Jenkins文件和一些脚本的源。管道被配置为在Webhook上触发分支和拉请求,但我还希望只对主分支使用参数化的cron触发器,特别是在工作日每4小时一次 我使用声明性管道语法,但如果必要,我愿意使用脚本化管道 我正在使用来实现带有参数的cron触发器 此管道示例捕获了我试图实现但不受支持的目标:条件触发Jenkins多分支管道,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我有一个参数化的Jenkins多分支管道,使用GitHub repo作为Jenkins文件和一些脚本的源。管道被配置为在Webhook上触发分支和拉请求,但我还希望只对主分支使用参数化的cron触发器,特别是在工作日每4小时一次 我使用声明性管道语法,但如果必要,我愿意使用脚本化管道 我正在使用来实现带有参数的cron触发器 此管道示例捕获了我试图实现但不受支持的目标: pipeline { triggers { when { branch "master" } parame
pipeline {
triggers {
when { branch "master" }
parameterizedCron('H */4 * * 1-5 % ABC=XYZ')
}
stages {
// do something
}
}
这个特性有一个公开的Jenkins问题:但它似乎没有在开发中。使用三元运算符对我的用例有效。仅为主分支计划生成:
pipeline {
triggers {
parameterizedCron(env.BRANCH_NAME == 'master' ? '''
# schedule every 4hours only on weekdays
H */4 * * 1-5 % ABC=XYZ''' : '')
}
parameters {
string(name: 'ABC', defaultValue: 'DEF', description: 'test param')
}
stages {
// do something
}
}