use of hudson.model.Run in project blueocean-plugin by jenkinsci.
the class MultiBranchPipelineImpl method countRunStatus.
private int countRunStatus(Result result, boolean pullRequests) {
Collection<Job> jobs = mbp.getAllJobs();
int count = 0;
for (Job j : jobs) {
if (pullRequests && isPullRequest(j) || !pullRequests && !isPullRequest(j)) {
j.getBuildStatusUrl();
Run run = j.getLastBuild();
if (run != null && run.getResult() == result) {
count++;
}
}
}
return count;
}
use of hudson.model.Run in project violations-plugin by jenkinsci.
the class SeverityTypeDataSet method buildDataSet.
/**
* Build the data set.
*
* @return the dataset.
*/
public CategoryDataset buildDataSet() {
DataSetBuilder<Row, NumberOnlyBuildLabel> builder = new DataSetBuilder<Row, NumberOnlyBuildLabel>();
for (ViolationsReport r = report; r != null; r = r.previous()) {
if (r.getTypeSummaries() == null) {
continue;
}
TypeSummary t = r.getTypeSummaries().get(type);
if (t == null) {
// Old report
continue;
}
if (t.getSeverityArray() == null || t.getSeverityArray().length != Severity.NUMBER_SEVERITIES) {
// Old report
continue;
}
int[] nums = t.getSeverityArray();
builder.add(nums[Severity.MEDIUM_VALUE] + nums[Severity.MEDIUM_HIGH_VALUE] + nums[Severity.MEDIUM_LOW_VALUE], MEDIUM_ROW, new NumberOnlyBuildLabel((Run) r.getBuild()));
builder.add(nums[Severity.HIGH_VALUE], HIGH_ROW, new NumberOnlyBuildLabel((Run) r.getBuild()));
builder.add(nums[Severity.LOW_VALUE], LOW_ROW, new NumberOnlyBuildLabel((Run) r.getBuild()));
}
return builder.build();
}
use of hudson.model.Run in project blueocean-plugin by jenkinsci.
the class LinkResolverImpl method resolve.
@Override
public Link resolve(Object modelObject) {
if (modelObject instanceof Job) {
Resource resource = resolveJob((Job) modelObject);
if (resource != null) {
return resource.getLink();
}
} else if (modelObject instanceof Item && modelObject instanceof ItemGroup) {
Resource resource = resolveFolder((Item) modelObject);
if (resource != null) {
return resource.getLink();
}
} else if (modelObject instanceof Run) {
Run run = (Run) modelObject;
Resource resource = resolveRun(run);
if (resource != null) {
return resource.getLink();
}
}
return null;
}
use of hudson.model.Run in project blueocean-plugin by jenkinsci.
the class LinkResolverTest method runLinkResolveTest.
@Test
public void runLinkResolveTest() throws IOException, ExecutionException, InterruptedException {
Project f = j.createFreeStyleProject("fstyle1");
MockFolder folder1 = j.createFolder("folder1");
Project p1 = folder1.createProject(FreeStyleProject.class, "test1");
MockFolder folder2 = folder1.createProject(MockFolder.class, "folder2");
MockFolder folder3 = folder2.createProject(MockFolder.class, "folder3");
Project p2 = folder2.createProject(FreeStyleProject.class, "test2");
Project p3 = folder3.createProject(FreeStyleProject.class, "test3");
Run r = (Run) f.scheduleBuild2(0).get();
Assert.assertEquals("/blue/rest/organizations/jenkins/pipelines/fstyle1/runs/" + r.getId() + "/", LinkResolver.resolveLink(r).getHref());
r = (Run) p1.scheduleBuild2(0).get();
Assert.assertEquals("/blue/rest/organizations/jenkins/pipelines/folder1/pipelines/test1/runs/" + r.getId() + "/", LinkResolver.resolveLink(r).getHref());
r = (Run) p2.scheduleBuild2(0).get();
Assert.assertEquals("/blue/rest/organizations/jenkins/pipelines/folder1/pipelines/folder2/pipelines/test2/runs/" + r.getId() + "/", LinkResolver.resolveLink(r).getHref());
r = (Run) p3.scheduleBuild2(0).get();
Assert.assertEquals("/blue/rest/organizations/jenkins/pipelines/folder1/pipelines/folder2/pipelines/folder3/pipelines/test3/runs/" + r.getId() + "/", LinkResolver.resolveLink(r).getHref());
}
use of hudson.model.Run in project blueocean-plugin by jenkinsci.
the class RunSearch method findRuns.
public static Iterable<BlueRun> findRuns(Job job, final Link parent) {
final List<BlueRun> runs = new ArrayList<>();
Iterable<Job> pipelines;
if (job != null) {
pipelines = ImmutableList.of(job);
} else {
pipelines = Jenkins.getActiveInstance().getItems(Job.class);
}
for (Job p : pipelines) {
RunList<? extends Run> runList = p.getBuilds();
for (Run r : runList) {
runs.add(AbstractRunImpl.getBlueRun(r, new Reachable() {
@Override
public Link getLink() {
return parent;
}
}));
}
}
return runs;
}
Aggregations