花了我一段时间才能弄清楚。您可以通过以下方式从WorkflowRun访问工作空间(因为工作流运行可以具有多个工作空间):
import org.jenkinsci.plugins.workflow.job.WorkflowRunimport org.jenkinsci.plugins.workflow.flow.FlowExecution;import org.jenkinsci.plugins.workflow.graph.FlowGraphWalker;import org.jenkinsci.plugins.workflow.graph.FlowNode;import org.jenkinsci.plugins.workflow.graph.StepStartNode;import org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode;import org.jenkinsci.plugins.workflow.actions.WorkspaceAction......b = item.getLastBuild()if (b instanceof WorkflowRun) { exec = b.getExecution(); if(exec == null) continue; FlowGraphWalker w = new FlowGraphWalker(exec); for (FlowNode n : w) { if (n instanceof StepStartNode) { action = n.getAction(WorkspaceAction); if (action) { String node = action.getNode().toString(); String workspace = action.getPath().toString(); } } }}现在,您已经有了节点和工作空间。这将捕获由节点步骤获取的工作空间以及由ws步骤获取的工作空间。您可能要存储节点/工作区,因为大多数probalby都会在复杂的管道上获得其中的几个。



