Merge pull request #287 from jenkinsci/bug/JENKINS-35771
JENKINS-35771# Fixed steps log API
This commit is contained in:
commit
6668a93091
|
@ -8,7 +8,7 @@ import io.jenkins.blueocean.commons.ServiceException;
|
|||
import io.jenkins.blueocean.rest.hal.Link;
|
||||
import io.jenkins.blueocean.rest.model.BlueActionProxy;
|
||||
import io.jenkins.blueocean.rest.model.BluePipelineNodeContainer;
|
||||
import io.jenkins.blueocean.rest.model.BluePipelineStep;
|
||||
import io.jenkins.blueocean.rest.model.BluePipelineStepContainer;
|
||||
import io.jenkins.blueocean.rest.model.BlueRun;
|
||||
import io.jenkins.blueocean.rest.model.Container;
|
||||
import io.jenkins.blueocean.rest.model.Containers;
|
||||
|
@ -172,7 +172,7 @@ public class AbstractRunImpl<T extends Run> extends BlueRun {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Container<?> getSteps() {
|
||||
public BluePipelineStepContainer getSteps() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,16 +4,12 @@ import hudson.scm.ChangeLogSet;
|
|||
import hudson.scm.ChangeLogSet.Entry;
|
||||
import io.jenkins.blueocean.rest.hal.Link;
|
||||
import io.jenkins.blueocean.rest.model.BluePipelineNodeContainer;
|
||||
import io.jenkins.blueocean.rest.model.BluePipelineStep;
|
||||
import io.jenkins.blueocean.rest.model.BlueRun;
|
||||
import io.jenkins.blueocean.rest.model.BluePipelineStepContainer;
|
||||
import io.jenkins.blueocean.rest.model.Container;
|
||||
import io.jenkins.blueocean.rest.model.Containers;
|
||||
import org.jenkinsci.plugins.workflow.graph.FlowNode;
|
||||
import org.jenkinsci.plugins.workflow.job.WorkflowRun;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
@ -50,14 +46,8 @@ public class PipelineRunImpl extends AbstractRunImpl<WorkflowRun> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Container<?> getSteps() {
|
||||
PipelineNodeGraphBuilder graphBuilder = new PipelineNodeGraphBuilder(run);
|
||||
List<FlowNode> nodes = graphBuilder.getAllSteps();
|
||||
List<BluePipelineStep> pipelineSteps = new ArrayList<>();
|
||||
for(FlowNode node:nodes){
|
||||
pipelineSteps.add(new PipelineStepImpl(node, graphBuilder, getLink().rel(BlueRun.STEPS)));
|
||||
}
|
||||
return Containers.fromResource(getLink().rel(BlueRun.STEPS), pipelineSteps);
|
||||
public BluePipelineStepContainer getSteps() {
|
||||
return new PipelineStepContainerImpl(null, new PipelineNodeGraphBuilder(run), getLink());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -20,7 +20,7 @@ public class PipelineStepContainerImpl extends BluePipelineStepContainer {
|
|||
private final Link self;
|
||||
|
||||
public PipelineStepContainerImpl(FlowNode node, PipelineNodeGraphBuilder graphBuilder, Link parentLink) {
|
||||
this.self = parentLink.rel("nodes");
|
||||
this.self = parentLink.rel("steps");
|
||||
this.node = node;
|
||||
this.graphBuilder = graphBuilder;
|
||||
}
|
||||
|
@ -39,10 +39,17 @@ public class PipelineStepContainerImpl extends BluePipelineStepContainer {
|
|||
|
||||
@Override
|
||||
public Iterator<BluePipelineStep> iterator() {
|
||||
List<FlowNode> nodes = graphBuilder.getSteps(node);
|
||||
List<BluePipelineStep> pipelineSteps = new ArrayList<>();
|
||||
for(FlowNode node:nodes){
|
||||
pipelineSteps.add(new PipelineStepImpl(node, graphBuilder, getLink()));
|
||||
if(node!=null) {
|
||||
List<FlowNode> nodes = graphBuilder.getSteps(node);
|
||||
for (FlowNode node : nodes) {
|
||||
pipelineSteps.add(new PipelineStepImpl(node, graphBuilder, getLink()));
|
||||
}
|
||||
}else{
|
||||
List<FlowNode> nodes = graphBuilder.getAllSteps();
|
||||
for(FlowNode node:nodes){
|
||||
pipelineSteps.add(new PipelineStepImpl(node, graphBuilder, getLink()));
|
||||
}
|
||||
}
|
||||
return pipelineSteps.iterator();
|
||||
}
|
||||
|
|
|
@ -622,6 +622,8 @@ public class PipelineNodeTest extends BaseTest {
|
|||
|
||||
List<Map> resp = get("/organizations/jenkins/pipelines/pipeline1/runs/1/steps/", List.class);
|
||||
Assert.assertEquals(4,resp.size());
|
||||
String log = get("/organizations/jenkins/pipelines/pipeline1/runs/1/steps/"+resp.get(0).get("id")+"/log/", String.class);
|
||||
Assert.assertNotNull(log);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -170,7 +170,7 @@ public abstract class BlueRun extends Resource {
|
|||
* interpreted as step as its StepAtomNode and implementation of this API must ensure not to include it.
|
||||
*/
|
||||
@Exported(name = STEPS)
|
||||
public abstract Container<?> getSteps();
|
||||
public abstract BluePipelineStepContainer getSteps();
|
||||
|
||||
/**
|
||||
* @return Instance of stapler aware instance that can do the following:
|
||||
|
|
Loading…
Reference in New Issue