Skip to end of metadata
Go to start of metadata

Plugin Information

View Task Scanner on the plugin site for more information.

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.

Description


 
(lightbulb) 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

Release 4.52

  • Compute author and commit information using the Git blame command. Show report of warnings by user on the job page and in the dashboard view. ( JENKINS-6748 - Analysis of Checkstyle Warnings per User RESOLVED )

Release 4.51

  • Added a new symbol for pipelines: openTasks

Release 4.50

Release 4.49

Release 4.48

  • Don't alter SAX environment variable anymore (JENKINS-27548)
  • Fixed resolving of files with relative paths in workspace (JENKINS-32150)

Release 4.47

  • Make maven plug-in mandatory since otherwise class loading exceptions will sometimes destroy the build configuration (JENKINS-21268, JENKINS-14727)

Release 4.46

  • Added support for workflow plug-in (Thanks to Antonio Muñiz and Manuel Recena for their PRs)
  • Fixed links in detail page of trend reports (JENKINS-29900)

Release 4.42

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

Release 4.41

Release 4.40

  • Added possibility to define tags via a regular expression (JENKINS-17225)
  • When ignore case option is set then group tags by upper case name (JENKINS-23635)
  • Fixed URL to results in views (JENKINS-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 (JENKINS-15959)
  • Aggregate the maven parent module results in failed builds when the failure is caused by a threshold being hit (JENKINS-15324, JENKINS-12342)
  • Optimized http requests for static resources in the analysis plugins (JENKINS-16571)
  • Fixed missing build overview in maven jobs (JENKINS-16518)
  • Always use Xerces when parsing XML files (JENKINS-15613)
  • Read pom.xml to obtain path of output files in maven jobs (JENKINS-16250)
  • Show error message as file content if the source files could not be transferred to the master (JENKINS-16222)

Release 4.35

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: JENKINS-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 (JENKINS-12424)

Release 4.29

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

Release 4.28

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

Release 4.27

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

Release 4.26

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

Release 4.25

  • Fixed NPE while configuring a graph with no builds yet (JENKINS-12045)
  • Group warnings by relative path if the associated language has no package or namespace concept (JENKINS-11846)
  • Allow skipping of calculating "new" issues (JENKINS-11761)
  • Fixed display of 'Use delta for new warnings' option (JENKINS-11758)
  • Ignore 'new warnings' threshold in the first build (JENKINS-11718)
  • Don't count warnings twice (in sub-modules of maven jobs) (JENKINS-11571)

Release 4.24

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

Release 4.23

  • Fixed empty tasks report in maven projects (report)

Release 4.22

  • Fixed enlarge link for trend graphs (JENKINS-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 (JENKINS-10682)
  • Added OSGi bundle detection when grouping warnings by module (JENKINS-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 (JENKINS-10627, JENKINS-9158)
  • Ignore not accessible files during parsing (JENKINS-10626)

Release 4.20

  • Added new tokens for token macro plug-in (JENKINS-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 (JENKINS-4912, JENKINS-3514)
  • Fixed broken detail views when using a reverse proxy (JENKINS-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 (JENKINS-8915, JENKINS-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 (JENKINS-8509)

Release 4.14

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

Release 4.13

Release 4.12

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

Release 4.11

  • Added build status thresholds for each warning priority (JENKINS-3561)

Release 4.10

  • Fixed computation of module names for maven projects (JENKINS-6768)
  • Don't report an error message if a maven module does not contain a report file (JENKINS-6895)
  • Fixed ant links (JENKINS-6862)

Release 4.9

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

Release 4.8

Release 4.7

  • Fixed broken links to project page and overview image (JENKINS-6417)

Release 4.6

  • Added trend graph portlets for the dashboard view
  • Added option to start the plug-in even for failed builds (JENKINS-6117)
  • Added 'enlarge' link for trend graphs that shows a detail page with the graph
  • Fixed ordering of warnings in detail views (JENKINS-6132)
  • Fixed warning distribution graph in files detail view (JENKINS-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 JENKINS-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 (JENKINS-5473)
  • Don't show trend graph configuration on job creation (JENKINS-5294)
  • Improved remote API, now the warning keys are also exposed (JENKINS-5195)

Release 4.2

Release 4.1

  • Include test sources and resources when scanning the workspace of maven projects (JENKINS-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 (JENKINS-5156)
  • Fixed preview of trend reports
  • Added dependency to Hudson 1.337 due to a class loader bug in previous versions (JENKINS-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

19 Comments

  1. Anonymous

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

  2. Anonymous

    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 (smile)

  3. Anonymous

    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. Please use the issue tracker for recording RFEs and issues.

  4. 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. Anonymous

    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. Anonymous

    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. Anonymous

    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. Unknown User (vonjanowsky@consist.de)

    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. Unknown User (vonjanowsky@consist.de)

    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. Unknown User (vonjanowsky@consist.de)

      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. Unknown User (corneil@tsctech.com)

    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. Unknown User (lukaszr)

    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. Please use the issue tracker for improvements and defects. I created one for you: JENKINS-1738

  12. 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

  13. 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

  14. 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.