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

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)
- Trend reports showing the number of tasks in corresponding colors
- 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 of Hudson (activated on goal findbugs:findbugs or site)
- Localization available for: DE (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 Hudson 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 plugin should be self-explanatory: You simply need to activate the task scanner plugin 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
Release 2.12:
- Added dynamic loading of the tab content in the detail pages.
Release 2.11:
- Fixed wrong class hierarchy in m2 reporter (issue #2155)
Release 2.10:
- Fixed module aggregation for m2 builds (issue #2153)
- For unknown packages now the name "unknown" is used rather than "n/a" (issue #2132)
Release 2.9:
- Added different help texts for maven or freestyle configuration
- Parsing of ant build.xml or maven pom.xml files is now only done if the build runs with the corresponding runner (issue #1898)
- Ignore maven projects without target folder (issue #1813)
- Reduced mermory footprint of parser (issue #1960)
- Fixed NPE during computation of new warnings (issue #2093)
- "Zero warnings since build #x" indicator should work correctly now (issue #1533)
- Height of trend graph can be changed for the m2 project type, too (issue #2115)
- Fixed count of scanned files for m2 projects (issue #2113)
Release 2.8:
- New file overview page that shows the distribution per file
- Added source code links to tasks table
- Show line number of files in all tasks detail views (issue #1974)
- Improved layout (css) of the tabview
Release 2.7:
- New result UI with drill-down and statistics of modules, packages, severities, overview, and details
- Added parsing of ANT build.xml files to extract the project name (issue #1560)
- Improved parsing of Java files to extract the package name (issue #1828, issue #1829)
- Added file exclusion pattern to exclude certain files from being scanned (thanks to Brendt for providing the patch!)
Release 2.6:
- Fixed backward compatibility with Hudson 1.180
Release 2.5:
- Added m2 report aggregation of sub-modules and the main project (issue #1602,issue #1522)
- Added expandable advanced section in plug-in configuration screen
- Added customizable height of trend graph (to prevent scrolling on the main page)
- Fixed bug in trend report generation if build has been terminated without creating the Tasks results
- Fixed issue #1560: Generate an unique module name if the pom.xml do contain duplicate names
- Fixed issue #1500: Fixed wrong initialization of cookie (for trend report toggle graph)
- Fixed issue #1547: Don't start publisher if build has been canceled
Release 2.4:
- Added drill-down support for task priorities
Release 2.3:
- Module statistics now shows module names of pom.xml for maven projects (rather than the module path segment)
- Fixed issue #1468: Fixed broken trend reports during a running build
- Fixed issue #1501: Replaced link to results of running build to results of last finished build
- Added french localization for messages (thanks to Eric Lefevre)
Release 2.2:
- Added german localization for messages and views
Release 2.1:
- Fixed issue #1259: trend graph update only for successful builds
- Fixed issue #1381: multiple invocations of task scanner in one module
Release 2.0
Release 1.0-1.14
Comments (14)
Aug 31, 2007
Anonymous says:
Love this plugin\! can't wait until it aggregates all the tasks/source into a li...Love this plugin! can't wait until it aggregates all the tasks/source into a list that users can see.
Sep 05, 2007
Anonymous says:
Hi, seems to be a cool plugin, unfortunately I don't get the TaskIcon (just a br...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
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
Sep 05, 2007
Kohsuke Kawaguchi says:
Please use the issue tracker https://hudson.dev.java.net/issues/ for recording R...Please use the issue tracker for recording RFEs and issues.
Nov 28, 2007
Michael Vorburger says:
Had a little bit of trouble installing this plugin... it downloads as ZIP and no...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.
Feb 16, 2008
Anonymous says:
We have sources in utf8 and comments not in english. Plugin shows tasks in weird...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?
Feb 27, 2008
Anonymous says:
nice to know: Do not use file patterns like \/.jsp, in case \.jsp are present in...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.
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.
Mar 06
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.
Mar 06
Simon von Janowsky says:
Hi all, don't know if this is a bug or not, but the task scanner doesn't work co...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.
Mar 06
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.
Apr 23
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)
May 01
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 + ' '.
May 22
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