
hudson.plugins.view.dashboard.builds.LatestBuilds Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dashboard-view Show documentation
Show all versions of dashboard-view Show documentation
Hudson view that shows various cuts of build information via configured portlets.
The newest version!
package hudson.plugins.view.dashboard.builds;
import hudson.Extension;
import hudson.model.Descriptor;
import hudson.model.Job;
import hudson.model.Run;
import hudson.plugins.view.dashboard.DashboardPortlet;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import org.kohsuke.stapler.DataBoundConstructor;
import hudson.plugins.view.dashboard.Messages;
public class LatestBuilds extends DashboardPortlet{
/**
* Number of latest builds which will be displayed on the screen
*/
private int numBuilds = 10;
@DataBoundConstructor
public LatestBuilds(String name, int numBuilds) {
super(name);
this.numBuilds = numBuilds;
}
public int getNumBuilds() {
return numBuilds <= 0 ? 10 : numBuilds;
}
public String getTimestampString(Run run) {
return DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM).format(new Date(run.getTimeInMillis()));
}
/**
* Last N_LATEST_BUILDS
builds
*
*/
public List getFinishedBuilds() {
List jobs = getDashboard().getJobs();
List allBuilds = new ArrayList();
for (Job job : jobs) {
List builds = job.getBuilds();
allBuilds.addAll(builds);
}
Collections.sort(allBuilds, Run.ORDER_BY_DATE);
List recentBuilds = new ArrayList();
if(allBuilds.size() < getNumBuilds())
recentBuilds = allBuilds;
else
recentBuilds = allBuilds.subList(0,getNumBuilds());
return recentBuilds;
}
@Extension
public static class DescriptorImpl extends Descriptor {
@Override
public String getDisplayName() {
return Messages.Dashboard_LatestBuilds();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy