Bellow is a summary of the features added so far, since the alpha version.

Multiple upstream run selection strategies

It has support for the Run Selector Plugin (which is still in beta), so you can provide different run selection strategies when allocating a disk from the upstream job.

Let’s suppose that we have an upstream job that clones the repository and builds the project:

def extWorkspace = exwsAllocate ' diskpool1 ' node ( ' linux ' ) { exws (extWorkspace) { checkout scm sh ' mvn clean install -DskipTests ' } }

In the downstream job, we run the tests on a different node, but we reuse the same workspace as the previous job:

def run = selectRun ' upstream ' def extWorkspace = exwsAllocate selectedRun : run node ( ' test ' ) { exws (extWorkspace) { sh ' mvn test ' } }

The selectRun in this example selects the last stable build from the upstream job. But, we can be more explicit, and select a specific build number from the upstream job.

def run = selectRun ' upstream ' , selector : [ $ class : ' SpecificRunSelector ' , buildNumber : UPSTREAM_BUILD_NUMBER] def extWorkspace = exwsAllocate selectedRun : run // ...

When the selectedRun parameter is given to the exwsAllocate step, it will allocate the same workspace that was used by that run.