Jenkins管道检查作业属性

时间:2019-04-08 17:31:57

标签: jenkins jenkins-pipeline

如果已经设置了某个属性,是否可以跳过Jenkins管道中的properties()步骤?例如,我们有:

def props = [
  buildDiscarder(logRotator(daysToKeepStr: '3', numToKeepStr: '25')),
  parameters([
    string(defaultValue: "", description: "", name: "example")
  ])
]

properties(props)

稍后,我们检查管道是否通过cron触发器运行,以查看将来是否要运行作业:

props = props.plus(pipelineTriggers([cron(cronTrigger)]))
properties(props)

现在,始终将第一个代码段设置为运行,该代码段设置了管道运行所需的某些参数,但这将删除cron,并使作业处于容易发生故障的状态,而无需cron重置即可重新运行它。仅需要破坏运行此管道的某些作业,因此我们也不能仅将cron添加到初始props数组中。有没有一种方法可以检查管道中是否存在先前设置的cron触发器,并且仅在未启用cron的情况下才再次重新运行第一个properties()步骤。我正在寻找的伪代码示例:

if (properties.include(pipelineTriggers([cron(cronTrigger)]))) {
  properties(props)
}

0 个答案:

没有答案