Jenkins pipelineTriggers选项崩溃

Jenkins pipelineTriggers选项崩溃,jenkins,groovy,cron,continuous-integration,Jenkins,Groovy,Cron,Continuous Integration,尝试在Jenkins声明性管道脚本中使用cron触发的生成: options { disableConcurrentBuilds() timeout(time: 1, unit: 'HOURS') buildDiscarder(logRotator(numToKeepStr: '5')) pipelineTriggers([cron('H 0 * * *')]) } 运行时,引发此异常: org.codehaus.groovy.control.MultipleC

尝试在Jenkins声明性管道脚本中使用cron触发的生成:

options
{
    disableConcurrentBuilds()
    timeout(time: 1, unit: 'HOURS')
    buildDiscarder(logRotator(numToKeepStr: '5'))
    pipelineTriggers([cron('H 0 * * *')])
}
运行时,引发此异常:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 30: Invalid option type "pipelineTriggers". Valid option types: [buildDiscarder, catchError, disableConcurrentBuilds, overrideIndexTriggers, retry, script, skipDefaultCheckout, skipStagesAfterUnstable, timeout, timestamps, waitUntil, withContext, withCredentials, withEnv, ws] @ line 30, column 3.
        pipelineTriggers([cron('H 0 * * *')])
     ^

1 error

    at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
    at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
    at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
    at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
    at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
    at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:67)
    at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:430)
    at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:393)
    at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:238)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:405)
Finished: FAILURE
有人知道管道脚本中cron触发器的正确语法或解决方法吗?

从中,我看到cron与以下语法一起使用:

properties([
    pipelineTriggers([
        cron('H/5 * * * *')
    ])
])
例如,请参见

由于您使用的是,因此需要插入这些属性:请参阅“”

您可以使用
步骤
标记中的
脚本
步骤来运行任意管道代码

这是因为,正如在

public final static List BLOCKED_PROPERTIES=[“pipelineTriggers”,“parameters”]

以下是如何使用管道语法执行此操作:

pipeline {
    agent any
    triggers {
        cron('H 4/* 0 0 1-5')
    }
    stages {
        stage('Example') {
            steps {
                echo 'Hello World'
            }
        }
    }
}
此外,pollSCM定义了Jenkins检查新源代码更改的定期间隔。如果存在新的更改,将重新触发管道。例如:

// every 15 minutes
triggers { 
  pollSCM('H 4/* 0 0 1-5') 
}

这似乎适用于非声明性管道脚本。简单地将
属性(…
放在声明性脚本中的某个地方是行不通的。@Baddingtoncat Right:我添加了缺少的步骤(这些属性的注入)我知道了,但仍然不知道如何使用pipelineTriggers注入,因为这是一个函数。我想知道Jenkins是否很快就能解决这个问题!@Baddingtoncat如果你能注入属性,你能作为环境变量(WithEnv)访问吗?或者
environment.withProperty()
post被标记为groovy@JoePhillips字体他写道,“试图在Jenkins声明性管道脚本中使用cron触发的生成”。请检查此链接:groovy中应出现错误输出。
// every 15 minutes
triggers { 
  pollSCM('H 4/* 0 0 1-5') 
}