Jenkins使用动态选择参数Groovy脚本定期构建失败

Jenkins使用动态选择参数Groovy脚本定期构建失败,groovy,jenkins,jenkins-plugins,Groovy,Jenkins,Jenkins Plugins,我正试图使用DynamicChoice参数插件在Jenkins中建立一个参数化的构建。参数应该是作业工作目录目录中某些目录的名称(即/var/lib/jenkins/workspace/JobName/dirToScan/) 可通过以下方式在下拉菜单中创建项目: def list=['ls',“/path/to/dirToScan/”].execute().text.tokenize() 为了到达正确的目录,我需要作业的名称,因为与执行作业时不同,执行作业的目录不是/var/lib/jenkin

我正试图使用DynamicChoice参数插件在Jenkins中建立一个参数化的构建。参数应该是作业工作目录目录中某些目录的名称(即
/var/lib/jenkins/workspace/JobName/dirToScan/

可通过以下方式在下拉菜单中创建项目:

def list=['ls',“/path/to/dirToScan/”].execute().text.tokenize()

为了到达正确的目录,我需要作业的名称,因为与执行作业时不同,执行作业的目录不是
/var/lib/jenkins/workspace/[job name]/
目录,而是根目录
/
。 动态选择参数插件允许执行Groovy脚本来填充选择参数。使用提供的答案,我能够检索作业名称。因此,我在Jenkins的参数化构建菜单中构建下拉菜单的最后一段代码如下所示:

def build = Thread.currentThread().toString()
def regexp= ".+?/job/([^/]+)/.*"
def match = build  =~ regexp
def jobName = match[0][1]

def list = ['ls', "/var/lib/jenkins/workspace/" << jobName << "/dirToScan"].execute().text.tokenize()
如果我只是以“正常”方式填充下拉菜单,则不会出现这种情况,例如:
def list=[“选项1”、“选项2”、“选项3”]

这可能是插件中的一个bug,或者Jenkins无法执行Groovy代码(如果它自己启动一个作业)。这个问题只会在周期性构建中出现,而不是在我自己启动构建并且独立于下拉菜单中选择的选项时出现。有人知道如何解决这个问题吗

Started by timer
Building in workspace /var/lib/jenkins/workspace/JobName
FATAL: Null value not allowed as an environment variable: Restore
java.lang.IllegalArgumentException: Null value not allowed as an environment variable: Restore
    at hudson.EnvVars.put(EnvVars.java:356)
    at hudson.model.StringParameterValue.buildEnvironment(StringParameterValue.java:56)
    at hudson.model.ParametersAction.buildEnvVars(ParametersAction.java:88)
    at hudson.model.AbstractBuild.getEnvironment(AbstractBuild.java:929)
    at hudson.plugins.mercurial.MercurialSCM.checkout(MercurialSCM.java:533)
    at hudson.scm.SCM.checkout(SCM.java:484)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1270)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:609)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:531)
    at hudson.model.Run.execute(Run.java:1750)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:89)
    at hudson.model.Executor.run(Executor.java:240)
Finished: FAILURE