This plugin is more of a platform for development and showing what is possible – with some better documentation / examples, I'm sure the reports could be enhanced to provide improved stats.

Name

Developer Report Plugin

Version

1.0

Product Versions

1.5.1

Author(s)

Dan Hardiker

Homepage

http://confluence.atlassian.com/display/CODEGEIST/Developer+Report+Plugin

Price

FREE

License

BSD

Source

http://svn.atlassian.com/fisheye/browse/public/contrib/fisheye/developer-report-plugin/trunk?%40hideDeletedFiles=Y

Download JAR

developer-report-plugin-1.0.jar

Download Source

trunk | 1.0

Description/Features

Primarily as a proof of concept, this plugin shows what I've found you can do with FishEye plugins – hopefully this will help and encourage more developers to dive in and see what they can do.

I am writing up my experiences as a Diary of a FishEye Hacker (and part 2), which includes suggestions to the FishEye developers and 3rd party developers alike.

Here's the general summary:

Moral of this adventure?
If at first you don't succeed, grab a few beers. It helps prevent the throwing of laptop in anger effect.

I hope my code serves as a useful example and platform for bigger & better things, and my write up serves as a nudge (or kick up the ass) for the FishEye developers to make the API & plugin subsystem properly usable.

Why not just use Servlets?

Well, as anyone who is used to writing plugin actions in Confluence / JIRA should tell you, writing raw servlets is laborious. WebWork/XWork gives you a lot for free:

  1. You get a command pattern implementation.
  2. You can build your own actions & results, just like xwork/webwork1 plugins in Confluence/JIRA.
  3. Your actions are wired and incoming parameters converted.
  4. You get an OGNL stack for use, almost transparently.
  5. You get a validation framework at your disposal.
  6. You can add your own interceptors and result types in addition to the given ones.
  7. You can build you actions in an openly testable way.

In short, you can build your plugins smaller, simpler and quicker, leading to more testable and maintainable code.

Usage

Simply navigate to /devreport/home.do, where / is the root of your FishEye installation.

Using /fisheye/ as your context is pretty standard, so you may need to use http://www.domain.dom/fisheye/devreport/home.do.

Installation

  1. Copy the developer-report-plugin-xxx.jar to the var/plugins folder
  2. Restart FishEye (you might get away with reloading the plugins in the Admin UI, but I wouldn't recommend it)

Uninstallation

Please note that this plugin does some fairly hefty things, such as:

  1. It burrows it's way through Spring
  2. It tinkers with class loaders
  3. It rewrites the XWork/WebWork configuration
  4. It hijacks XWork object creation
  5. It extracts it's resources into $FISHEYE_INST/content/devreport

All of theses will be reverted by simply removing the plugin and restarting FishEye, with the notable exception of:

  1. You may wish to delete the $FISHEYE_INST/content/devreport folder

TODO List

State

Task

(tick)

Fix up the report (it needs sorting and limiting)

(tick)

Write some tests (model + action tested)

(warning)

Find some Valium

Version History

1.0 - Initial Version

Screenshots

Other Adaptavist Entries