我在Jenkinsfile如下:如何在Jenkinsfile中对字符串进行整数转换?
pipeline {
agent none
environment {
timeout_mins = 1
}
options {
timeout(time: "${env.timeout_mins}", unit: 'MINUTES')
}
stages {
stage("test print") {
steps {
echo "timeout_mins: ${env.timeout_mins}"
sh "sleep 120"
}
}
}
}
我想重新使用环境PARAMS如在多个地方timeout_mins,但需要将其转换为整数,在某些地方某些插件。余与上述实施例得到的错误是如下:
处理环境org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty java.lang.IllegalArgumentException异常:无法实例{时间=空,单元= MINUTES } for TimeoutStep(time:int,unit ?: TimeUnit [NANOSECONDS,MICROSECONDS,MILLISECONDS,SECONDS,MINUTES,HOURS,DAYS]):java.lang.ClassCastException:org.jenkinsci.plugins.workflow.steps.TimeoutStep.time expect int但在org.jenkinsci.plugins.workflow.steps.StepDescriptor.newInstance(StepDescriptor.java:org.jenkinsci.plugins.structs.describable.DescribableModel.instantiate(DescribableModel.java:264) )处接收到类java.lang.String 。 194) at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:181) at org.codehaus org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:126) at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108) at org.codehaus。 groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:48) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite。 AbstractCallSite.call(AbstractCallSite.java:113) 在com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:18) 在
任何一个是否有一种方法从String转换为int在Jenkinsfile中?我试过 time: env.timeout_mins
,但是这会产生一个空值。
time: ${env.timeout_mins}
,产率: WorkflowScript:7:方法调用的参数@线7,柱23 超时(时间:$ {env.timeout_mins},单位: '分')
time: ${env.timeout_mins}.toInteger()
,与上述相同的
time: ${env.timeout_mins.toInteger()}
,同上
任何其他的东西,我可以试试吗?