Jenkins : Dashboard View

Plugin Information

View Dashboard View on the plugin site for more information.

Older versions of this plugin may not be safe to use. Please review the following warnings before using an older version:

This plugin contributes a new view implementation that provides a dashboard / portal-like view for your Jenkins instance.

Add new view

On the Jenkins main page, click the + tab to start the new view wizard (If you do not see a +, it is likely you do not have permission to create a new view).  On the create new view page, give your view a name and select the Dashboard type and click ok.  

Configure dashboard view

The configuration is done in 2 parts, selecting the Jenkins jobs to include in the view, and selecting which dashboard portlets to have included in the view.  The jobs that you select are used for all the portlets to draw their information from.

Select jobs

Select the list of jobs to include in the dashboard. This is exactly the same process as the standard list view that comes with Jenkins.

Also a regular expression can be used to specify the jobs to include in the view.

Options

  • Show standard Jenkins list at the top of the page: shows uses standard Jenkins jobs list as it would be when using Jenkins' built-in  'List View' type.

Select portlets

Configure which portlets you want to see on the top and on the left and the right column.  Each portlet may have its own configuration but at a minimum it requires a name to be given to it.
Click ok and the dashboard configuration will be saved and you will be brought to the dashboard view itself.

View layout

The dashboard view supports a layout with rows spanning the entire view with 2 columns.

Top portlet 1

Left portlet 1

Right portlet 1

Left portlet 2

Right portlet 2

Bottom portlet 1

Core portlets

The dashboard view comes with a number of portlets that you can configure your view with (New portlets can be contributed to Jenkins via other plugins, even your own).

Standard Jenkins jobs list

This portlet shows a row for each job showing the standard columns configured in Jenkins. All the configured portlets are displayed below this list.

Jobs Grid

The jobs grid portlet displays a 3 column table with the current status and a clickable link to the job.  This offers a more compressed presentation of your jobs than the standard 1 row per job view, albeit at the cost of some job information.

Unstable Jobs

This portlet lists the unstable jobs within the view.  Note, this does not necessarily list all of Jenkins' unstable jobs, but only looks at jobs configured for this view.

Test Statistics Grid

The test statistics grid shows detailed test data for the configured jobs.  This is useful to get an aggregated count of tests across the jobs in your view.   If desired, jobs with zero tests can be hidden.

Test Statistics Chart

This is a pie chart of the tests in the configured jobs.  It shows the passing, failing, and skipped jobs with the total # and percentages.

Test Trend Chart

This is a chart that shows your tests over time in aggregate.  The logic is that for every day since the first job in the view was built, it shows the total number of passing, skipped and failing tests in aggregate across the build.  It assumes that if a build did not occur on a given day, that the previous day's build results (or the previous-previous day, etc.) will be used.

Jobs statistics

Shows statistics based on jobs health.

Build statistics

Shows statistics based on build status.

Extending the Dashboard View plugin

Much of the benefit of this plugin will be realized when other plugins that enhance Jenkins offer support for it.

Add support in your plugin:

  • Extend the DashboardPortlet class and provide a descriptor that extends the Descriptor<DashboardPortlet>
  • Create a jelly view called portlet.jelly
  • Optionally create a jelly view called main.jelly to be used when the portlet is in maximized mode (otherwise the same portlet.jelly view will be used)

It is possible to define custom parameters for the DashboardPortlet. The displayName is always required. To add new parameters:

  • create a jelly file called config.jelly to be used when the portlet is configured (added to the view in 'Edit View' config page);
  • modify constructor (with @DataBoundConstructor) to receive the new parameters.

Looking at the source code of this plugin will show a number of examples of doing this. The core portlets do the same thing that your plugin would do.

On your plugin Wiki page, add the label supports-dashboard-view so that it will show up in the list below.

Sample files:

MyPortlet.java
import hudson.plugins.view.dashboard.DashboardPortlet;

class MyPortlet extends DashboardPortlet {

    @DataBoundConstructor
    public MyPortlet(String name) {
        super(name);
    }

// do whatever you want

    @Extension
    public static class DescriptorImpl extends Descriptor<DashboardPortlet> {
        @Override
        public String getDisplayName() {
            return "MyPortlet";
        }
    }
};
portlet.jelly
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:dp="/hudson/plugins/view/dashboard" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">

  <dp:decorate portlet="${it}"> <!-- This is to say that this is a dashboard view portlet -->
    <tr><td> <!-- This is needed because everything is formatted as a table - ugly, I know -->

      <!-- you can include a separate file with the logic to display your data or you can write here directly -->
      <div align="center">
        <st:include page="myportlet.jelly"/>
       </div>

     </td></tr>
  </dp:decorate>
</j:jelly>

Other plugins that support the Dashboard View

  • Page:
    Android Lint Plugin — Parses output from the Android lint tool and displays the results for analysis.
  • Page:
    Rich Text Publisher Plugin — This plugin puts custom rich text message to the Build pages and Job main page (for last build). Atlassian Confluence, WikiText and HTML notations are supported.
  • Page:
    DRY Plugin — This plugin generates the trend report for duplicate code checkers like CPD or Simian.
  • Page:
    Cppcheck Plugin — This plugin generates the trend report for CppCheck, a tool for static C/C++ code analysis.
  • Page:
    Project Statistics Plugin

    This plugin provides new dashboard-view portlets and new columns for displaying project statistics for your Jenkins instance.

  • Page:
    Custom Job Icon Plugin — This plugin allows to configure a custom icon for each job in order to improve the job visibility on the dashboard.
  • Page:
    Questa VRM Plugin — Adds the ability for Jenkins to publish results from Mentor Graphics Questa Verification Run Manager (VRM).
  • Page:
  • Page:
    Warnings Next Generation Plugin — This plugin collects compiler warnings or issues reported by static analysis tools and visualizes the results.
  • Page:
    Analysis Collector Plugin — This plug-in is an add-on for the plug-ins Checkstyle, Dry, FindBugs, PMD, Android LintTask Scanner, and Warnings: the plug-in collects the different analysis results and shows the results in a combined trend graph. Additionally, the plug-in provides health reporting and build stability based on these combined results.
  • Page:
  • Page:
    SLOCCount Plugin — This plug-in generates trend report for SLOCCount and cloc open source tools, that count number of code lines written in many programming languages.
  • Page:
    M2 Release Plugin — This plugin allows you to perform a release build using the maven-release-plugin from within Jenkins.
  • Page:
    Cadence vManager Plugin — This plugin adds an ability to perform REST over HTTP calls to Cadence vManager as a step in your build.
  • Page:
    PMD Plugin — This plugin generates the trend report for PMD, an open source static code analysis program. 
  • Page:
    Task Scanner Plugin — This plugin scans the workspace files for open tasks and generates a trend report.
  • Page:
    CCM Plugin — This plug-in generates reports on cyclomatic complexity for .NET code.
  • Page:
    FindBugs Plugin — This plugin generates the trend report for FindBugs, an open source program which uses static analysis to look for bugs in Java code. 
  • Page:
    Checkstyle Plugin — This plugin generates the trend report for Checkstyle, an open source static code analysis program. 
  • Page:
    Release Plugin — This plugin adds the ability to wrap your job with pre- and post- build steps which are only executed when a manual release build is triggered.
  • Page:
    OWASP Dependency-Check Plugin — This plugin can analyze dependencies and generate trend reports for Dependency-Check, an open source utility that detects known vulnerabilities in project dependencies.
  • Page:
    Warnings Plugin — This plugin generates the trend report for compiler warnings in the console log or in log files.

TODO

  • Use 'div' instead of 'table' to place portlets in the page.
  • update this wiki page with more updated screenshots.

Version History

Version 2.11 and newer

See GitHub releases

Version 2.10 (2018/11/11)

(Needs Jenkins 1.625.3 and Java 7)

  • Modernizes dependencies, update joda-time to latest version
  • Don't depend on maven-plugin anymore
  • Fix fullscreen view on newer Jenkins versions (Thanks to eva-mueller-coremedia, NeverOddOrEven and szhem for providing pull-requests fixing this issue, fixes JENKINS-39941, )
  • Fix health percentage cutoff (Thanks to zizizach for noticing this)
  • Alternate percentages when near 0/100% (Provided by Arnaud TAMAILLON)
  • Apply full screen style to maximized portlets
  • Based on JENKINS-13687: Add config button to full screen (fixes JENKINS-52170, thanks to jjasper for the inspiration)
  • JENKINS-49745: Better JavaScript error handling in "Agent statistics" portlet

Version 2.9.11 (2017/06/07)

(Needs Jenkins 1.580.1)

  • JENKINS-43863: Bump Jenkins version and include needed dependencies.

Version 2.9.10 (2016/06/01)

  • Bugfix: Ensure that ${jobs} is really a Collection<Job>
  • Minor cleanups
  • JENKINS-35266: Fix reset of Hide projects with no tests in the test portlet

Version 2.9.9 (2015/05/17)

  • Hide inactive matrix configurations from the Test Statistics Grid (JENKINS-34804)
  • Add option to Test Statistics Portlet to allow jobs with 0 tests to be hidden. (JENKINS-33952)

Version 2.9.7 (2015/12/19)

  • Fixed icons missing in build statistics portlet (JENKINS-29690)
  • Fixed test result trend not displayed in matrix project configuration top page (JENKINS-12205)
  • Optimized job statistics portlet (JENKINS-26879)
  • Add an option to show in full screen

Version 2.9.6 (2015/07/13)

Version 2.9.5 (2015/06/18)

  • Use request based URLs
  • Fixed "Starting jobs returns error 'Form post required'" (JENKINS-20025)

Version 2.9.4 (2014/07/29)

  • Fix CCE which causes the Unstable jobs portlet to blank out if you have any Maven Job type projects.
  • Fix duplicate entries when using the Unstable jobs portlet with recursion enabled for the view
  • Fix the build link on the Jobs Grid

Version 2.9.3 (2014/07/14)

  • Release fails with recent git client
  • Fixed issue where dashboard view would not work inside a folder. If a view was created inside a folder, the jobLink would fail to properly provide the correct url (pull/24).
  • Ensure that ${jobs} is really a Collection<Job>, with no Folder for example (JENKINS-21578, pull/23).
  • Fixed unstable job portlet to properly display failing or unstable jobs inside folders (pull/22).
  • TestStatisticsPortlet config.jelly: the reference to the instance of the portlet was using the wrong syntax (pull/21).

Version 2.9.2 (2013/10/27)

  • No changes (!?)

Version 2.9.1 (2013/8/16)

  • Upgrading to dashboard-view 2.9 causes Jobs Grid information to not be displayed (JENKINS-19219).

Version 2.9 (2013/8/13)

  • Added configuration to JobsPortlet: Number of column and job filling direction.
  • Added Timeshift-Option for Test-Trend-Chart (JENKINS-15814).
  • Build statistics does not display result with regex .* filter (JENKINS-18880).
  • Added Number of columns and Fill column first parameters (pull/10).
  • Awful performance from Latest Builds portlet (JENKINS-18861).

Version 2.8 (2013/7/9)

  • Avoid loading too many build records for display jobs (JENKINS-15858).
  • Fix test trend chart for TestNG test results.
  • Sort list of available dashboards alphabetically (JENKINS-6289).

Version 2.7 (2013/6/27)

  • Dashboard View plugin v2.6 broke URL path to build stability images(JENKINS-18049).

Version 2.6 (2012/05/19)

TBC

Version 2.5 (2012/03/23)

  • Added possibility to sort the test statistics grid portlet results JENKINS-16943
  • Added iframe portlet
  • Removed configure link from dashboard

Version 2.4 (2012/11/12)

  • Fixed null pointer exception in TestTrendChart portlet JENKINS-14522
  • Showing Jenkins pop-up menu when hovering on the job link JENKINS-15294
  • Added optional colours to TestStatisticChart (improvement provided by user jake-stacktrace)
  • Added support for folders in view (provided by user ndeloof)

Version 2.3 (2012/07/17)

  • Added image portlet: allows to display an image given the URL
  • Modified "Test Trend Chart" portlet: allow to select what type of tests to display (All tests, Only successful, Only failed, Only skipped) JENKINS-12126
  • Modified "Test Trend Chart" portlet: modified x-axis label of test trend to use only day-month

Version 2.2 (2012/01/11)

Version 2.1 (2011/10/08)

  • Added patch provided by Matt JENKINS-9559
  • Added timestamp sorting in LatestBuilds view JENKINS-9606
  • TestTrendChart was reporting tests contribution in the past; modified to contribute to the future JENKINS-10529
  • Fixed visualization when a date range is provided JENKINS-10529
  • Fixed issue with test trend chart is empty with maven2 projects JENKINS-7099 (fix provided by user larrys)
  • Add new statistics portlet "Slaves statistics" which displays count of slaves, offline slaves, online slaves, disconected slaves, tasks in a queue and running jobs (provided by user lvotypko)

Version 2.0.2

  • Renamed hudson to jenkins.

Version 2.0.1 (2011/03/07)

  • Supported near 100 and near 0 percents in test statistics grid JENKINS-7913
  • Modified relative to absolute URL image for portlet collapse/expand icons JENKINS-8956
  • Improved the usability of show/hide portlet; using new icons from jenkins theme JENKINS-8624]
  • Added build button to Unstable and Grid Jobs portlets JENKINS-7569

Version 2.0 (2011/02/11)

  • Modified for github and Jenkins.
  • Allow to hide/show portlets directly from the dashboard (without having to go to the configuration page); see JENKINS-7465 and JENKINS-8623 (fix provided by Godin)
  • Allow to specify a range of dates for TestTrendGraph portlet (use 0 to auto-adjust the range) JENKINS-7596
  • Supported near 100 and near 0 percent in test statistics grid issue #7913 (missing in this version)
  • Fixed bug JENKINS-7595

Version 1.8.2 (01/20/2011)

  • Added Japanese translation.

Version 1.8.1 (09/16/2010)

  • Allow to configure standard view parameters for Dashboard View JENKINS-6618

Version 1.8 (09/15/2010)

  • Added some italian translations
  • The configuration page has been re-organized
  • Allow to specify width of left and right columns in dashboard view (percentage or fixed width) JENKINS-7429

Version 1.7 (08/12/2010)

  • Show job description tooltip and build description tooltip JENKINS-7107
  • Allow parametrization of graph width and height for 'Test Trend Graph' Portlet JENKINS-6811
  • Allow parametrization of number of builds used for 'Latest Builds' portlet JENKINS-7090
  • Keep 'standard' order for jobLink: build status - health status - job name JENKINS-6611
  • Added i18n to some parts of the plugin

Version 1.6 (05/20/2010)

  • Added health icon in custom jobLink
  • Added 'title' attribute to img tags
  • Added default name on portlet add JENKINS-5952
  • Added unique id to each portlet (within the same dashboard/view) JENKINS-6118

Version 1.5 (04/02/2010)

  • Fixed 'Last 10 builds' showing always bullet from last build JENKINS-6091
  • Fixed 'Last 10 builds' doesn't filter jobs JENKINS-6106
  • Allowing to hide disabled jobs when not using regexp

Version 1.4 (03/25/2010)

  • Fixed standard Jenkins list view visualization problem

Version 1.3 (03/05/2010)

WARNING: if upgrading from a previous release, all the dashboard views must be edited and saved (also without modifying anything) to correctly work with this version.

  • Layout: added top portlets (portlets that spawn the entire page width) and are shown above the left and right portlets JENKINS-5759
  • New portlets:
    • standard Jenkins jobs list JENKINS-5691
    • Jobs statistics
    • Build statistics
  • Added option to show standard Jenkins jobs list before displaying all the portlets JENKINS-5814

Version 1.1 (11/15/2009)

  • Fixed issue with Unstable Jobs portlet where content was empty if builds were being actively run
  • New option on regular expression job inclusion to prevent disabled jobs from appearing
  • Supports single column view if only portlets are only specified for left or right column

Version 1.0 (10/11/2009)

  • Initial release