当jenkins管道作业触发时,如何使用作业dsl获取文件数组?

当jenkins管道作业触发时,如何使用作业dsl获取文件数组?,jenkins,jenkins-pipeline,jenkins-job-dsl,Jenkins,Jenkins Pipeline,Jenkins Job Dsl,当jenkins管道作业触发时,如何使用jenkins作业dsl获取文件数组? 有一个名为readFileFromWorkspace的文件选项,但当我需要目录的内容时,它没有帮助 这需要在从机而不是主机上工作,这排除了: 使用此变量 hudson.FilePath workspace=hudson.model.Executor.currentExecutor().getCurrentWorkspace() 在不使用jenkins管道时有效,但在使用时出错 从我看到的情况来看,使用jenkins管

当jenkins管道作业触发时,如何使用jenkins作业dsl获取文件数组? 有一个名为readFileFromWorkspace的文件选项,但当我需要目录的内容时,它没有帮助

这需要在从机而不是主机上工作,这排除了:

使用此变量
hudson.FilePath workspace=hudson.model.Executor.currentExecutor().getCurrentWorkspace()
在不使用jenkins管道时有效,但在使用时出错

从我看到的情况来看,使用jenkins管道时,环境变量WORKSPACE不存在

此格式仅在主机上运行时有效
新建文件(\uu File\uuuuuuuuuuuuuuuuuu).parent.absolutePath

您可以使用
种子作业
变量()获取运行作业DSL生成步骤的作业。对于管道,这应该是一个
org.jenkinsci.plugins.workflow.job.WorkflowJob
。使用
SEED\u JOB.lastBuild
您应该得到运行的版本,它是一个
org.jenkinsci.plugins.workflow.JOB.WorkflowRun
。我不知道管道内部,但也许您可以从开始查看源代码。

您可以使用
SEED_JOB
变量()获取运行作业DSL构建步骤的作业。对于管道,这应该是一个
org.jenkinsci.plugins.workflow.job.WorkflowJob
。使用
SEED\u JOB.lastBuild
您应该得到运行的版本,它是一个
org.jenkinsci.plugins.workflow.JOB.WorkflowRun
。我不知道管道的内部结构,但也许你可以从源头开始查看