我在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()}
,同上
任何其他的東西,我可以試試嗎?