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

时间:2017-02-02 06:28:46

标签: jenkins jenkins-pipeline jenkins-job-dsl

如何在jenkins-pipeline作业触发时使用jenkins job-dsl获取一系列文件? 有一个名为readFileFromWorkspace的文件选项,但是当我需要目录的内容时它没有帮助。

这需要在奴隶上工作,而不是主人排除:

使用此变量 hudson.FilePath workspace = hudson.model.Executor.currentExecutor().getCurrentWorkspace() 在不使用jenkins管道时可以正常工作但在

时出错

从我能看到的内容中使用jenkins管道时,环境变量WORKSPACE不存在

此格式仅在您在主服务器上运行时才有效 new File(__FILE__).parent.absolutePath

1 个答案:

答案 0 :(得分:0)

您可以使用SEED_JOB变量(wiki)来获取运行Job DSL构建步骤的作业。如果是Pipeline,则应为org.jenkinsci.plugins.workflow.job.WorkflowJob。使用SEED_JOB.lastBuild,您应该获得正在运行的版本org.jenkinsci.plugins.workflow.job.WorkflowRun。我不知道Pipeline的内部结构,但也许您可以查看从here开始的来源。