无法在Groovy中获取JENKINS当前目录

时间:2018-11-02 14:59:59

标签: jenkins groovy

我已经在下面的代码行中用于标识html文件。但是它返回了异常。

  def location=${workspace}/report_${BUILD_NUMBER}
  println(location)
  def report=build.getWorkspace().child(location+"/report.html")

观察到异常:

  

groovy.lang.MissingPropertyException:无此类属性:的工作空间   类:groovy.lang.Binding在   groovy.lang.Binding.getVariable(Binding.java:63)在   org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:224)     在org.kohsuke.groovy.sandbox.impl.Checker $ 4.call(Checker.java:241)     在   org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238)     在   org.kohsuke.groovy.sandbox.impl.Checker $ checkedGetProperty.callStatic(未知   来源)   org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:56)     在   org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:194)     在   org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:230)     在Script1.run(Script1.groovy:1)

任何人都可以帮助我如何获取当前工作空间并将该值附加到如下所示的字符串中:

location+"/report.html"

1 个答案:

答案 0 :(得分:0)

尝试:

build.getWorkspace().child("report_${BUILD_NUMBER}/report.html")

您可以定义相对于工作空间目录的路径,而不是report.html。开头应该没有/

如果不确定目录结构,可以尝试在工作区目录中列出文件:

build.getWorkspace().list().each{ println it }