簡體   English   中英

jenkins的groovy腳本中的參數訪問引發異常

[英]Parameter access with in a groovy script in jenkins throws exception

我有一個名為VERSION的字符串參數,該參數設置為example-0000以下是我在jenkins的groovy管道中嘗試的操作

import hudson.model.*
/*// get parameters
def parameters = build?.actions.find{ it instanceof ParametersAction 
}?.parameters
parameters.each {
println "parameter ${it.name}:"
println it.dump()
}
*/
print ("VERSION is ${VERSION}")
def version_value = build.buildVariableResolver.resolve("VERSION")

它引發以下異常訪問“ build”有什么問題?

[Pipeline] echo
VERSION is 0000
[Pipeline] End of Pipeline
groovy.lang.MissingPropertyException: No such property: build for class: WorkflowScript
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getProperty(ScriptBytecodeAdapter.java:458)
at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.getProperty(DefaultInvoker.java:34)
at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
at WorkflowScript.run(WorkflowScript:12)
at ___cps.transform___(Native Method)

我認為您正在嘗試訪問hudson.model.build,但我相信這是一個類,而不是對象。 它也不是當前對象-WorkflowScript的屬性。 因此它根本不存在。

在管道腳本中,您應該有權訪問“ currentBuild”。 轉到your.jenkins.server.url / pipeline-syntax / globals以查看通過該服務器運行的全局變量腳本可以訪問的內容。

在同一頁面上還應該顯示您可以訪問名為“ params”的變量。也許您在尋找什么?

從您的問題來看,不清楚您的最終目標是什么。 如echo語句所示,您已經可以訪問VERSION。 那么,為什么要嘗試從構建對象中獲取它呢? 如果您更新以解釋最終目標,則可能會獲得更多幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM