View Plot on the plugin site for more information.
2.0.0 version of the plugin brings Jenkins Pipeline support. It might break compatibility if you update from 1.X versions, as it contains some API changes. Please test in non-production environment before update.
This plugin will plot one or more single values variations across builds in one or more plots. Plots for a particular job (or project) are configured in the job configuration screen, where each field has additional help information. Each plot can have one or more lines (called data series). After each build completes the plots' data series latest values are pulled from Java properties file(s), CSV file(s), or XML file(s) via an XPath (which you should have generated during the build) somewhere below your workspace. Data for each plot is stored in a CSV file within the job's root project directory.
It can generate various kind of plots, including Area, Bar, Line, Stacked Bar, Waterfall...
Here is an example of the plots generated by this plugin:
Currently supported parameters
The currently supported parameters are:
(int, default: 750)The width of the plot in pixels.
height (int, default: 750)The height of the plot in pixels.
rightBuildNum (int, default: 2^38 - 1)The right-most build number on the plot.
hasLegend (boolean, default: true)Whether or not the plot has a legend.
urlNumBuilds (string, default: 2^38 - 1)Number of builds back to show on this plot from URL.
urlTitle (string, default: "")Title of plot from URL.
urlStyle (string, default: "")Style of plot from URL.
urlUseDescr (boolean, default: false)Use description flag from URL.
title (string, default: "")Title of plot.
yaxis (string, default: "")Y-axis label.
series (list)List of data series.
group (string)Group name that this plot belongs to.
numBuilds (string, default:"")Number of builds back to show on this plot. An empty string means all builds. Must not be "0".
csvFileName (string, default: "$ROOT_DIR/plot-XXXX.csv")The name of the CSV file that persists the plots data. The CSV file is stored in the projects root directory. This is different from the source CSVle that can be used as a source for the plot.
csvLastModification (long, default: "last modified date")The date of the last change to the CSV file.
style (string, default: "line")Style of plot: line, line3d, stackedArea, stackedBar, etc.
useDescr (boolean, default: false)Whether or not to use build descriptions as X-axis labels.
keepRecords (boolean, default: false)Keep records for builds that were deleted.
exclZero (boolean, default: false)Whether or not to exclude zero as default Y-axis value.
logarithmic (boolean, default: false)Use a logarithmic Y-axis.
yaxisMinimum (string, default: "")Minimum y-axis value.
yaxisMaximum (string, default: "")Maximum y-axis value.
For a full list of parameters the best place to view is Plot.java class.
Example Usage to generate detailed PMD reports
Attached is a Perl script which generates more detailed "summaries" out of PMD report files. We use this for several code analysis projects, all named
To have all resulting plots on one page, give all Plots the same plot group. Because each code quality has its very own range, define each on a separate plot, not as an additional data series.
Pipeline job configuration
Below you can find sample configuration which is auto-generated using Snippet Generator.
- csvFileName - autogenerated value, but you might want to change it to something more descriptive for your case.
- file - source file for plot generation (relative to workspace)
If you have any proposals/bug reports, please create an issue on Jenkins JIRA.
Version 2.1.0 (Jun 4, 2018)
- Use @DataBoundSetter for optional pipeline parameters (JENKINS-50636, PR-48).
Version 2.0.5 (May 15, 2018)
Version 2.0.4 (May 5, 2018)
- Fix chart style value comparison, STACKED_AREA in particular (JENKINS-50924).
Version 2.0.3 (January 24, 2018)
- Pass PlotBuilder CTOR params to Plot (JENKINS-48887).
- "useDescr"/"keepRecords"/"exclZero"/"logarithmic" parameters didn't work properly in pipeline.
- Thanks to Reinhold Füreder
- Use "regular numeric tick labels" by default for LogarithmicAxis (JENKINS-48888)
- Thanks to Reinhold Füreder
- Thanks to Reinhold Füreder
Version 2.0.2 (January 3, 2018)
- Fixed ConcurrentModificationException in PlotBuildAction.java (JENKINS-48465)
- Fixed typo's in help files (JENKINS-48530)
- Moved plugin description to wiki (JENKINS-48537)
- Configured Checkstyle and reformatted the project according to the rules
Version 2.0.0 (November 2, 2017)
- Added support for Pipeline Plugin (JENKINS-35571).
- Note: Might break compatibility if you update from 1.X version. Update carefully!
Version 1.11 (April 26, 2017)
- Final Release: includes all PRs and fixes up to now
Version 1.9 (Mar 15, 2015)
- Added an option to draw plots using a logarithmic Y-axis.
- Fixed %name% and %index% replacements in the URL for XML files (http://stackoverflow.com/q/13271710/2654518).
- Added %build%, build number placeholder.
Version 1.8 (Sep 28, 2014)
- Added option to exclude zero as default Y-axis value.
- Added option to keep records for deleted builds (JENKINS-22575).
- Fixed matrix project support (JENKINS-24666).
- Fixed %name% and %index% replacements in the URL (http://stackoverflow.com/q/13271710/2654518).
Version 1.7 (Mar 11, 2014)
- Fixed issues parsing XML files, introduced in version 1.6 (JENKINS-21493).
Version 1.6 (Jan 16, 2014)
- Fixed plot data being retained for deleted builds (JENKINS-4934).
- Fixed data out of sync with graph (JENKINS-15358).
- Plugin is now available for maven2 (JENKINS-8478) and matrix jobs (JENKINS-15396).
- Improved XPath support.
Version 1.5 (Jul 10, 2011)
- Thread safety fix (JENKINS-9662).
- Japanese localization.
Version 1.4 (Nov 21, 2010)
Version 1.3 (Jul 20, 2010)
- Configurable graph style for each plot.
- Read data from XML files (JENKINS-2796).
- Read data from CSV files (JENKINS-2899).
- Update code for more recent Hudson.