现在我想在jenkins管道中添加一个超时输入,如果60秒用户没有输入选择,它将跳转下一步并标记构建成功。如果用户选择 '' YES,将执行接下来的步骤。这是我的代码:
stage('push-image-uat') {
timeout(time: 60, unit: 'SECONDS') {
input {
message "Publish to uat environment?"
ok "Yes, we should."
submitter "admin,anthony"
parameters {
string(name: 'CHOOSE', defaultValue: 'NO', description: 'Should I publish to uat?')
}
}
}
when {
expression {
${params.CHOOSE} == 'YES'
}
}
steps{
script {
publishToUATEnvironment = true
}
sh "echo \"push image uat\""
echo "Hello, ${CHOOSE}, nice to meet you."
}
}
但是当我在 jenkins 中运行这个脚本时,它会抛出这个错误:
Running in Durability level: MAX_SURVIVABILITY
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 57: Unknown stage section "timeout". Starting with version 0.5, steps in a stage must be in a ‘steps’ block. @ line 57, column 9.
stage('push-image-uat') {
^
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.doParse(CpsGroovyShell.java:142)
at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:127)
at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:561)
at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:522)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:337)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE
我应该怎么做才能解决这个错误?