Task Scanner Plugin

Skip to end of metadata
Go to start of metadata

Plugin Information

Plugin ID tasks Changes In Latest Release
Since Latest Release
Latest Release
Latest Release Date
Required Core
Dependencies
4.44 (archives)
Jan 05, 2015
1.554.3
analysis-core (version:1.66)
maven-plugin (version:2.4, optional)
dashboard-view (version:2.9.4, optional)
token-macro (version:1.10, optional)
Source Code
Issue Tracking
Maintainer(s)
GitHub
Open Issues
Ulli Hafner (id: drulli)
Usage Installations 2014-Apr 4299
2014-May 4305
2014-Jun 4324
2014-Jul 4443
2014-Aug 4418
2014-Sep 4527
2014-Oct 4517
2014-Nov 4512
2014-Dec 4483
2015-Jan 4647
2015-Feb 4668
2015-Mar 4808


This plugin scans the workspace files for open tasks and generates a trend report.

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


 
This plug-in is supported by the Static Analysis Collector plug-in that collects different analysis results and shows the results in aggregated trend graphs. Additionally, health reporting and build stability is also based on the aggregated results.

The tasks scanner plug-in scans the workspace files for open tasks like TODO, FIXME, or @deprecated. It is inspired by the maven taglist plug-in. This plug-in is part of the suite of static code analysis plug-ins that are documented on a separate WIKI page.

  • You can specify the files to scan after a build
  • Three configurable priority levels are supported (e.g. HIGH=FIXME, NORMAL=TODO, LOW=@deprecated)
  • Several trend reports showing the number of tasks per build
  • Overview of the found tasks per module or package
    • Parsing of Maven pom.xml or Ant build.xml configuration files to obtain the module or project name
    • Parsing of Java or C# files to obtain the package or name space name
  • Detail reports of the found tasks filtered by severity
  • Colored HTML display of the corresponding source files and with direct links to the tasks
  • Highlighting of the line that contains a task (with a tool tip showing the priority)
  • 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 open tasks
  • Several tokens to simplify post processing of the results
  • Localization available for: DE, JA (Please help to localize task scanner for your locale!)

The current release is available in the download section. 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.

Configuration

Configuring the plug-in should be self-explanatory: You simply need to activate the task scanner plug-in as shown below. Add the tag keywords you would like to use and save the configuration. Then the next build will report the number of open tasks and show the trend.


Changelog

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

Release 4.42

  • Reverted XML escaping of messages (issue #25511, issue #17309)
  • Added option to use previous build as reference build when calculating new and fixed tasks (issue #13458, thanks to Tom Saunders for the pull request)

Release 4.41

Release 4.40

  • Added possibility to define tags via a regular expression (issue #17225)
  • When ignore case option is set then group tags by upper case name (issue #23635)
  • Fixed URL to results in views (issue #24436)

Release 4.39 - new runtime requirement: at least Java 6

Release 4.38

  • Added a view column that shows the number of open tasks in a job

Release 4.37

  • Make dependency to ant-plugin optional

Release 4.36

  • 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)

Release 4.35

  • 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 4.34

Release 4.33

Release 4.32

  • 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 4.31

  • Show all values of difference graph

Release 4.30

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

Release 4.29

  • 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 4.28

  • Added a new portlet that shows the warning totals as a line graph
  • Added help for pattern fields (issue #13397).

Release 4.27

  • Show build result threshold evaluation information in build summary (issue #12424)
  • Support for column ranges in warnings (issue #12822)
  • Fixed plug-in configuration if used in conjunction with flexible-publisher plug-in (issue #12182, issue #8185)
  • Added support for non-alphanumeric characters when scanning for warning tags (issue #12782)

Release 4.26

  • Fixed initialization problem when configuring the plug-in for maven jobs. (issue #12075)

Release 4.25

  • 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)
  • Don't count warnings twice (in sub-modules of maven jobs) (issue #11571)

Release 4.24

  • Don't scan module sub-folders of maven projects (packaging pom) for open tasks (issue #11571)

Release 4.23

  • Fixed empty tasks report in maven projects (report)

Release 4.22

  • Fixed enlarge link for trend graphs (issue #11324)
  • Fixed visibility of 'enable trend graph' link

Release 4.21

  • 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)
  • Cancel parsing if the build has been aborted by the current user (issue #10627, issue #9158)
  • Ignore not accessible files during parsing (issue #10626)

Release 4.20

  • Added new tokens for token macro plug-in (issue #10027): now tokens TASKS_NEW, TASKS_FIXED, TASKS_COUNT and TASKS_RESULT are available.

Release 4.19

Release 4.18

  • Fixed display of trend graphs for maven jobs (report)

Release 4.17

  • Fixed health reporting and build failure/unstable thresholds for maven project type (issue #4912, issue #3514)
  • 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)
  • Improved logging statements when build is executed on a slave

Release 4.16

  • 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: TASKS_COUNT expands to the number of open tasks and TASKS_RESULT expands to the plug-in build result (stable, unstable, failed)

Release 4.15

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

Release 4.14

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

Release 4.13

  • Added support for multi-configuration projects (issue #6772)
  • Fixed broken links in details view (issue #8167)

Release 4.12

  • 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 4.11

  • Added build status thresholds for each warning priority (issue #3561)

Release 4.10

  • 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 4.9

  • Fixed naming of maven modules (issue #6513)
  • Group files by path if there is no package or namespace found (issue #6698)

Release 4.8

Release 4.7

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

Release 4.6

  • Added trend graph portlets for the dashboard view
  • Added option to start the plug-in even for failed builds (issue #6117)
  • 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 4.4

Release 4.3

  • 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 4.2

  • Added support for the new plug-in [Static Analysis Collector plug-in] to provide combined trend graphs and health reporting (issue #3320)
  • Improved remote API, now the warnings are also exposed (issue #5195)

Release 4.1

  • Include test sources and resources when scanning the workspace of maven projects (issue #5136)
  • Fixed permissions for viewing the source code, now the WORKSPACE permission is used
  • Fixed trend report link if there are no results available yet (issue #5156)
  • Fixed preview of trend reports
  • Added dependency to Hudson 1.337 due to a class loader bug in previous versions (issue #4993)

Release 4.0

  • Extracted common code of the static code analysis plug-ins into a new utility plug-in "analysis-core"
  • Several bug fixes and small improvements

Release 1.x - 3.x ChangeLog

Labels

plugin-report plugin-report Delete
plugin-maven plugin-maven 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. Aug 31, 2007

    Anonymous says:

    Love this plugin! can't wait until it aggregates all the tasks/source into a...

    Love this plugin! can't wait until it aggregates all the tasks/source into a list that users can see.

  2. Sep 05, 2007

    Anonymous says:

    Hi, seems to be a cool plugin, unfortunately I don't get the Task-Icon (just a b...

    Hi, seems to be a cool plugin, unfortunately I don't get the Task-Icon (just a broken-image icon)). The url the image referes is "http://<ourserver>/hudson/plugin/tasks/icons/tasks-48x48.png" and on the menu "http://<ourserver>/hudson/plugin/tasks/icons/tasks-24x24.png"

    If you can fix that it would be great

  3. Sep 05, 2007

    Anonymous says:

    Another Comment: The "Open Task Trend" only updates when a full refresh is done ...

    Another Comment: The "Open Task Trend" only updates when a full refresh is done (Ctrl-F5).
    You should add a timestamp or anthing else to your request, so the graph is regenerated.

    Daniel

    1. Sep 05, 2007

      Kohsuke Kawaguchi says:

      Please use the issue tracker for recording RFEs and issues.

      Please use the issue tracker for recording RFEs and issues.

  4. Nov 28, 2007

    vorburger - says:

    Had a little bit of trouble installing this plug-in... it downloads as ZIP and n...

    Had a little bit of trouble installing this plug-in... it downloads as ZIP and not as .HPI. But once renamed the .zip to .hpi (no unzip) and uploaded via the /hudson/managePlugins console (it didn't work when I just unzipped it into the $HUDSON_HOME/plugins) and restarted, all is well.

    And it looks good! And useful. Thank you.

  5. Feb 16, 2008

    Anonymous says:

    We have sources in utf-8 and comments not in english. Plugin shows tasks in weir...

    We have sources in utf-8 and comments not in english. Plugin shows tasks in weird symbols. This is also true for links to source files. Like

    High Priority: FIXME
    File: VisualComponentHelper.java
     
    Line 100: Если модель РёР- начально содержала неверное

    Browser is setup to view page in utf-8.
    How can i fix that?

  6. Feb 27, 2008

    Anonymous says:

    nice to know: Do not use file patterns like */.jsp, in case *.jsp are p...

    nice to know:

    Do not use file patterns like */.jsp, in case *.jsp are present in the target directory, you get twice the tasks.

    Use */src//.jsp instead.

  7. Feb 27, 2008

    Anonymous says:

    Wiki markup misformed the file patterns, should be  Do not use file pattern...

    Wiki markup misformed the file patterns, should be
     Do not use file patterns like **/.jsp, in case *.jsp are present in the target directory, you get twice the tasks.
     Use **/src/**/*.jsp instead.

  8. Mar 06, 2008

    Simon von Janowsky says:

    Sorry, i posted an anonymous child element on the page, please remove it, since ...

    Sorry, i posted an anonymous child element on the page, please remove it, since i am not privileged to.

    I wrote the text again as a comment....

    Simon.

  9. Mar 06, 2008

    Simon von Janowsky says:

    Hi all, don't know if this is a bug or not, but the task scanner doesn't work c...

    Hi all,

    don't know if this is a bug or not, but the task scanner doesn't work correctly,

    for the graphic there is a broken link on the status page.

    I upgraded Hudson to 1.88 and the Scanner to 2.0

     An Exception ist thrown and shown on the webpage:
    javax.servlet.ServletException: java.lang.ClassCastException: java.lang.Object cannot be cast to hudson.plugins.tasks.TasksResult
    org.kohsuke.stapler.Stapler.invoke(Stapler.java:370)
    org.kohsuke.stapler.MetaClass$15.dispatch(MetaClass.java:361)
    org.kohsuke.stapler.Stapler.invoke(Stapler.java:361)
    org.kohsuke.stapler.MetaClass$9.doDispatch(MetaClass.java:240)
    org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
    org.kohsuke.stapler.Stapler.invoke(Stapler.java:361)
    org.kohsuke.stapler.Stapler.invoke(Stapler.java:298)
    org.kohsuke.stapler.Stapler.service(Stapler.java:98)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    hudson.security.HudsonFilter.doFilter(HudsonFilter.java:88)

    Greetings from germany,

    Simon.

    1. Mar 06, 2008

      Simon von Janowsky says:

      the problem arose when throwing the 1.88 hudson.war into the tomcat webapps cont...

      the problem arose when throwing the 1.88 hudson.war into the tomcat webapps container and was not deployed corectly... so 1.86 was running with tasks 2.0....  I had to setup Hudson new to get the tasks running again....

      greetz,
      Simon.

  10. Apr 23, 2008

    Corneil du Plessis says:

    I get the following exception, there are also a lot of exception during startup ...

    I get the following exception, there are also a lot of exception during startup for task-2.4.
    What should be deleted for the task plugin upgrade to work?

    Scanning workspace files for tasks...
    FATAL: java.lang.Object
    java.lang.ClassCastException: java.lang.Object
        at hudson.plugins.tasks.TasksPublisher.perform(TasksPublisher.java:143)

  11. May 01, 2008

    Lukasz says:

    If you use keyword like WARNING then it is going to report variables and any str...

    If you use keyword like WARNING then it is going to report variables and any strings that have it like

    Stirng WARNINGS ="asdf"; IMHO it should look for keyword + ' '.

    1. May 22, 2008

      Ulli Hafner says:

      Please use the issue tracker for improvements and defects. I created one for you...

      Please use the issue tracker for improvements and defects. I created one for you: issue #1738

  12. Feb 03, 2012

    wernight - says:

    The help doesn't tell you, but you can have multiple fileset defined. For exampl...

    The help doesn't tell you, but you can have multiple fileset defined. For example for C++ you can have two extensions checked:

    Files to scan: src/*.cpp, src/*.h

    1. Feb 03, 2012

      Ulli Hafner says:

      Thanks for reporting, I updated the description of the field: https://github.com...
  13. Apr 11, 2012

    Per Östman says:

    Is it possible to get the absolute or relative path displayed for a file? I'm s...

    Is it possible to get the absolute or relative path displayed for a file?

    I'm scanning C# resource files for specific substrings, and currently this plugin reports the file name only, which makes it a bit hard to find the file in question since we tend to have a large number of files named Resources.resx

    1. Apr 11, 2012

      Ulli Hafner says:

      In which view?

      In which view?

  14. Aug 01, 2012

    Simon Champion says:

    Interested to know what people are using for their high/medium/low priority task...

    Interested to know what people are using for their high/medium/low priority task tags?

    The screenshot shows "FIXME" and "TODO", which are obviously a good starting point, but what other markers are people using?

    I've got "@deprecated" in low priority.