Analysis Collector Plugin

Skip to end of metadata
Go to start of metadata

Plugin Information

Plugin ID analysis-collector Changes In Latest Release
Since Latest Release
Latest Release
Latest Release Date
Required Core
Dependencies
1.41
Mar 11, 2014
1.424
token-macro (version:1.5.1, optional)
dry (version:2.37, optional)
dashboard-view (version:2.2, optional)
findbugs (version:4.51, optional)
checkstyle (version:3.38, optional)
pmd (version:3.37, optional)
maven-plugin (version:1.424, optional)
tasks (version:4.38, optional)
warnings (version:4.35, optional)
analysis-core (version:1.55)
Source Code
Issue Tracking
Maintainer(s)
GitHub
Open Issues
Ulli Hafner (id: drulli)
Usage Installations 2013-Apr 6675
2013-May 6580
2013-Jun 6718
2013-Jul 6892
2013-Aug 6689
2013-Sep 6870
2013-Oct 6937
2013-Nov 6976
2013-Dec 6799
2014-Jan 7179
2014-Feb 7199
2014-Mar 7421

This plug-in is an add-on for the plug-ins Checkstyle, Dry, FindBugs, PMD, Task 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.

Installation Requirements
This plug-in requires the utility plug-in "analysis-core" (called "Static Analysis Utilities" in the update manager). Please ensure that the latest version of this plug-in is also installed.

It's about 5 years now since my first Jenkins commit. I hope that you all enjoy using my static code analysis plug-ins and that these plug-ins are very helpful for your projects! There is now an easy way to support the development of these open source plug-ins I just released my Android game Inca Trails. So feel free to support my work for Jenkins by buying this game in Google Play. Of course, the game is worth its price anyway

Description

With the Analysis Collector plug-in you can combine the analysis results of Checkstyle, Dry, FindBugs, PMD, Task Scanner, and Warnings. The plug-in itself does not compute analysis results, it just works on the results of the other plug-ins. I.e., you need to install at least two of the analysis plug-ins in order to gain some additional functionality. Besides that, the plug-in works in the same way as the other plug-ins. If you activate the plug-in in the job configuration page, then you get:

  • Build summary showing the new and fixed warnings of a build
  • Several trend reports showing the number of warnings per build
  • Overview of the found warnings per module, package, category, or type
  • Detail reports of the found warnings optionally filtered by severity (or new and fixed)
  • Colored HTML display of the corresponding source file and warning lines:
    • Direct link to the warning line
    • Highlighting of single lines as well as line ranges
    • Highlighting of multiple line ranges per warning (different color for primary range)
    • Tool tip describing the warning message
  • Failure threshold to mark a build as unstable
  • Configurable project health support
  • Works with the freestyle and native m2 build option
  • Remote API to export the build quality and found warnings
  • Several tokens to simplify post processing of the results
  • Localization available for: DE (Please help to localize the analysis collector for your locale!)

The total number of warnings in a job can be visualized in every view by adding a new column "Number of warnings".

The plug-in also contains a new trend graph type that shows the total number of warnings of each participating plug-in. If you don't need the trend graphs of the other plug-ins anymore then you can set the corresponding check box in the configuration screen to disable these other trend reports.

 

 

Additionally, this plug-in provides some portlets for the Dashboard View:

 

 

 

 

For each project, a summary is shown that shows the total number of warnings for each plug-in:

The current release is available in the download section. You can also download a snapshot of the plug-in containing the latest changes from BuildHive. This plug-in is developed and maintained by Ullrich Hafner. Please use the mailing lists or issue tracker to ask questions, create feature request or bug reports, since I don't read the comment section on this page regularly.

Archangel

You can support the development of this open source plug-in by buying my Android game Inca Trails in Google Play!

Release 1.41

  • Fixed class loading bug if not all optional plug-ins are installed (issue #21769)

Release 1.39

  • Added a new summary on the project page that shows the total number of warnings for each plug-in

Release 1.38

  • Improved view column that shows the number of warnings in a job

Release 1.37

  • Added a view column that shows the number of warnings in a project
  • Make dependency to ant optional

Release 1.36

  • Fixed broken calculation of compiler warnings in warnings table portlet
  • Added some more fields that are exposed via the REST API (issue #17767, thanks to Mihail Menev, Johann Vierthaler for the patch!)
  • Added Traditional Chinese translations (thanks to Pei-Tang Huang!)
  • Added system configuration option to disable console logging of all static analysis plug-ins (issue #15246, thanks to Sebastian Seidl for the patch!)
  • Added system configuration option to fail a build when one of the static analysis plug-ins fails parsing its input (issue #17663, thanks to Mihail Menev and Johann Vierthaler for the patch)
  • Fixed broken encoding handling in maven jobs (issue #17657, thanks to André Lehmann!)

Release 1.35

  • Show more details in the fixed warnings view (issue #15959)
  • Aggregate the maven parent module results in failed builds when the failure is caused by a threshold being hit (issue #15324, issue #12342)
  • Optimized http requests for static resources in the analysis plugins (issue #16571)
  • Fixed missing build overview in maven jobs (issue #16518)
  • Always use Xerces when parsing XML files (issue #15613)
  • Read pom.xml to obtain path of output files in maven jobs (issue #16250)
  • Show error message as file content if the source files could not be transferred to the master (issue #16222)
  • Fixed storing of default graph configuration (issue #14840)

Release 1.34

  • Added option to consider only stable builds when calculating new warnings (Thanks to David Pärsson for the patch, issue #15037)
  • Fixed NPE when comparing warnings (issue #15414, issue #15250)

Release 1.33

  • Fixed escaping of links in dashboard portlets (issue #15075)

Release 1.32

Release 1.30

Release 1.29

  • Reduce memory footprint of plug-in (thanks to Kohsuke for the patches)
  • Upgrade to YUI 2.9 (support for new bread crumbs and context menus: issue #13532, thanks to OHTAKE Tomohiro for the patch)

Release 1.28

  • Show all values of difference graph
  • Fixed broken FindBugs icon

Release 1.27

  • Added hyperlinks to build summary if threshold is exceeded (issue #12424)

Release 1.26

  • Added option to filter projects with zero warnings in the warnings dashboard portlet (issue #12984)
  • Center the affected source line in source view (issue #13491)
  • Fixed incompatibility of detail tabs with new bread crumb view (issue #13532)

Release 1.25

  • Added a new portlet that shows the warning totals as a line graph
  • Don't use dashboard classes in abstract base (issue #13101)

Release 1.24

Release 1.22

  • Fixed visibilty of tasks column in warnings table portlet (issue #12186)

Release 1.20

  • Show build result threshold evaluation information in build summary (issue #12424)
  • Fixed plug-in configuration if used in conjunction with flexible-publisher plug-in (issue #12182, issue #8185)
  • Improved performance of warnings distribution portlet (issue #12223, issue #12309)
  • Added customization of shown columns in warnings table portlet (issue #12186)

Release 1.18

  • Fixed NPE while configuring a graph with no builds yet (issue #12045)
  • Group warnings by relative path if the associated language has no package or namespace concept (issue #11846)
  • Allow skipping of calculating "new" issues (issue #11761)
  • Fixed display of 'Use delta for new warnings' option (issue #11758)
  • Ignore 'new warnings' threshold in the first build (issue #11718)

Release 1.17

  • Ignore failed builds when evaluating the build history in trend graphs and new warnings calculation (issue #10682)
  • Added OSGi bundle detection when grouping warnings by module (issue #10681)
  • Use the path as a replacement for the package grouping for all warnings that are not from Java or C# files (issue 2)
  • Added option to skip the plug-in if the build failed

Release 1.16

  • Added new tokens for token macro plug-in (issue #10027): now tokens ANALYSIS_NEW, ANALYSIS_FIXED, ANALYSIS_COUNT and ANALYSIS_RESULT are available.

Release 1.15

  • Added new trend graph that shows the total number of warnings with auto-scaled range axis (issue #9745)
  • Added configuration of participating plug-ins in threshold evaluation and portlet (issue #8470)
  • Fixed broken result images in build summary (issue #9997)

Release 1.14

  • Fixed broken detail views when using a reverse proxy (issue #3410, thanks to Benjamin Cabé for the fix)
  • Show the reference build that is used to compute new and fixed warnings (when build thresholds are set)

Release 1.13

  • Added configuration option to enable automatic project and module name detection by reading all Ant project.xml and Maven pom.xml files (issue #8915, issue #9090)
  • Added preliminary support for the Token Macro Plugin: ANALYSIS_COUNT expands to the number of Analysis warnings and ANALYSIS_RESULT expands to the plug-in build result (stable, unstable, failed)

Release 1.12

  • Fixed missing dependency to Hudson/Jenkins 1.395 (issue #8509)

Release 1.11

  • Jenkins update to links and documentation
  • Show progress text while dashboard portlet graphs are created

Release 1.9

  • Fixed sorting of date labels of dashboard trend graphs (issue #8476)
  • Fixed evaluation of builds that will be considered in the dashboard trend graph (issue #8283)

Release 1.8

  • Added build status thresholds for each warning priority (issue #3561)
  • Improved performance of plug-in initialization (issue #7370)

Release 1.7

  • Fixed description of plug-in in update manager (issue #6966)
  • Fixed computation of module names for maven projects (issue #6768)
  • Don't report an error message if a maven module does not contain a report file (issue #6895)
  • Fixed ant links (issue #6862)

Release 1.6

Release 1.5

  • Fixed broken links to project page and overview image (issue #6417)

Release 1.4

  • Added trend graph portlets for the dashboard view
  • Added 'enlarge' link for trend graphs that shows a detail page with the graph
  • Fixed ordering of warnings in detail views (issue #6132)
  • Fixed warning distribution graph in files detail view (issue #6139)

Release 1.3

Release 1.1

  • Added a portlet for the dashboard view (issue #4832)
  • New warnings computation is now based on the current build and the reference build (i.e., the last successful build, see issue #5147)
  • Visualized plug-in build status (based on the healthiness thresholds)
  • Added high scores for successful builds
  • Don't show project action if there are no warnings (issue #5473)
  • Don't show trend graph configuration on job creation (issue #5294)
  • Improved remote API, now the warning keys are also exposed (issue #5195)

Release 1.0

  • Initial release

Labels

plugin-maven plugin-maven Delete
plugin-report plugin-report Delete
supports-dashboard-view supports-dashboard-view Delete
token-producer token-producer Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Apr 08, 2012

    Sergey Smirnov says:

    jenkins vers. 1.458 with analysis-collector 1.24 doesn't start. Started only if...

    jenkins vers. 1.458 with analysis-collector 1.24 doesn't start.

    Started only if remove analysis-collector plugin

    [!] Error

    org.jvnet.hudson.reactor.ReactorException: java.lang.Error: java.lang.reflect.InvocationTargetException
        at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:246)
        at jenkins.InitReactorRunner.run(InitReactorRunner.java:43)
        at jenkins.model.Jenkins.executeReactor(Jenkins.java:849)
        at jenkins.model.Jenkins.<init>(Jenkins.java:761)
        at hudson.model.Hudson.<init>(Hudson.java:81)
        at hudson.model.Hudson.<init>(Hudson.java:77)
        at hudson.WebAppMain$2.run(WebAppMain.java:217)
    Caused by: java.lang.Error: java.lang.reflect.InvocationTargetException
        at hudson.init.InitializerFinder.invoke(InitializerFinder.java:124)
        at hudson.init.InitializerFinder$TaskImpl.run(InitializerFinder.java:184)
        at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
        at jenkins.model.Jenkins$6.runTask(Jenkins.java:838)
        at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
        at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
    Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at hudson.init.InitializerFinder.invoke(InitializerFinder.java:120)
        ... 8 more
    Caused by: java.lang.NullPointerException
        at hudson.plugins.disk_usage.DiskUsageProperty$DiskUsageDescriptor.access$000(DiskUsageProperty.java:46)
        at hudson.plugins.disk_usage.DiskUsageProperty.transitionAuth(DiskUsageProperty.java:36)
        ... 13 more

  2. Jun 22, 2012

    Alfred Pfeffer says:

    We moved our jenkins installation including all the build information to a new s...

    We moved our jenkins installation including all the build information to a new server.

    Everything works fine, except that all the statistic views related to the static code analysis try to access information using the ip address of the old server which fails.

    Is there any place where we can change the addresses?

  3. Oct 23, 2012

    phoe nix says:

    Excuse me, but an easy question: how to instal and use plugins?  I'm searc...

    Excuse me, but an easy question: how to instal and use plugins? 

    I'm searching to use checkstyle within a jenkins/linux/maven environnement. The checkstyle seems to be installed, but, when I launch a build on my projects (on which I konw there are rule violations), it says me that everything is ok!

    I cannot find also how to instal analysis-collector, because I don't see this exact name in the installed plugins.

    Moreover, I don't find any configuration part in Jenkins enabling me to use my own checkstyle.xml configuration file.

    If somebody can help me that way, thank's

  4. May 13, 2013

    Max Spring says:

    I have broken images on the analysis results page: The URL is http://my-jenkin...

    I have broken images on the analysis results page:

    The URL is http://my-jenkins/static/eec6b7c8/images/16x16/blue.png
    It should be http://my-jenkins/auth/static/eec6b7c8/images/48x48/blue.png

    I'm running this Jenkins instance behind Apache with --prefix=/auth.
    It appears to me your plugin is not honoring this prefix.

    If yes, I can quickly file a Jira.
    Thanks!
    -Max