Agile Wall Report

Name Agile Wall Report
Version 1.4
Product Versions Tested with JIRA 3.13
Author(s) Tommi Laukkanen (tlaukkanen at gmail dot com)
Homepage http://www.substanceofcode.com/software/jira-plugins/
Price Free
License BSD
JavaDocs Included in the source package.
IssueTracking http://developer.atlassian.com/jira/browse/WALL
Download JAR agilewall-report-1.4.0.jar
Download Source agilewall-report-1.4.0.zip
Subversion https://svn.atlassian.com/svn/public/contrib/jira/jira-agile-wall-report/

Description/Features


Report for viewing issue statuses in the same way as in agile project progress walls (issues in three columns: to do/in progress/done). Many agile teams use task walls to represent the current status of the sprint (or project). Tasks are grouped by their status to three columns: Not started, In progress and Done. Tasks are usually also sorted so that top priority issues are on the top and low level issues are on the bottom.

Agile Wall Report plugin tries to mimic this view in JIRA so that team members can use a same kind of a view for a current project version that is being developed.

Note that current version uses default JIRA statuses. Issues with "In Progress" status are rendered in the middle and issues with "Closed" status are rendered as done. Other status types are rendered in the Not started column.

Restrictions

Current version only supports default JIRA statuses (In Progress, Resolved and Closed)

Usage

Installation

  1. Install the plugin by downloading the plugin JAR
  2. Place the downloaded JAR file to <JIRA>/atlassian-jira/WEB-INF/lib folder
  3. Restart JIRA

Generating report

  1. Open project
  2. Select "Agile Wall Report"
  3. Select version for reported issues
  4. Done, enjoy the report

Using the portlet

  1. Configure your dashboard (Configure ON)
  2. Add a new portlet
  3. Select Agile Wall portlet
  4. Select filter to be used with the portlet
  5. Done, enjoy the portlet

Version History

Version Date Description
1.0 May 9th 2007 Initial version
1.0.1 May 10th 2007 Fixed print view and issue card borders on IE
1.1 June 5th 2007 Added agile wall portlet
1.2 June 6th 2007 Support for "Resolved" status
1.3 July 17th 2007 Report is generated from user selected filter.
Vertical white space is reduced.
Font size is smaller on report issue cards.
Real Agile Wall



Agile Wall Report in JIRA



Screenshots

Labels

codegeist_2007_jira codegeist_2007_jira Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. May 10, 2007

    Bob Swift says:

    Nice! Just a quick bug I noticed, the Not started, In progress, and Done headin...

    Nice! Just a quick bug I noticed, the Not started, In progress, and Done headings get dropped when I go to the print view.

    1. May 10, 2007

      Tommi Laukkanen says:

      Thanks for reporting this. I fixed the print view and also fixed a bug with tabl...

      Thanks for reporting this. I fixed the print view and also fixed a bug with table borders when using IE.

  2. Jun 06, 2007

    Martin Gilday says:

    Are there any plans to add "Resolved" as a member of the Done column? We use th...

    Are there any plans to add "Resolved" as a member of the Done column? We use this state for issues completed until our "Sprint" is complete. It is a standard JIRA state.

    1. Jun 06, 2007

      Tommi Laukkanen says:

      Good idea. I can add "Resolved" as a member of the Done column. The ultimate sol...

      Good idea. I can add "Resolved" as a member of the Done column. The ultimate solution would probably be that user could select states for the columns as it would then also support custom states.

    2. Jun 06, 2007

      Tommi Laukkanen says:

      I just uploaded the latest version (v1.2.0) which includes this feature. Issues ...

      I just uploaded the latest version (v1.2.0) which includes this feature. Issues with "Resolved" status are now shown under the Done column.

  3. Jun 06, 2007

    Martin Gilday says:

    Thanks Tommi. We tried out 1.1 today and it seemed just what we need, now it wi...

    Thanks Tommi. We tried out 1.1 today and it seemed just what we need, now it will be even better. I will give 1.2 a try out tomorrow. Cheers.

  4. Jul 16, 2007

    Stephen Voorhees says:

    We're using this plug-in to help communicate our progress with remote employees ...

    We're using this plug-in to help communicate our progress with remote employees and it is working great so far.  Some feature suggestions:

    • Allow a setting to bump all task cards to the top of the page under their respective columns.  This is mainly to reduce verticle scrolling.
    • Allow configurability of the order in which the task cards are ordered in a column
    • Reduce the size of the cards, again to reduce scrolling

    Thanks for the excellent plug-in!

    1. Jul 16, 2007

      Tommi Laukkanen says:

      It is nice to hear that this plug-in is used by someone I'll try to reduce the...

      It is nice to hear that this plug-in is used by someone

      I'll try to reduce the size of the cards. What do you think, should it be enough if only a issue title is shown and other information is for example in tool tip?

      I'm planning to implement an AJAX feature that would allow easy status change for tasks so this would probably need that the issues aren't bumped to the top of the page. Although this could be configurable option.

      1. Jul 17, 2007

        Stephen Voorhees says:

        I think the most important thing is to reduce the height of the cards, something...

        I think the most important thing is to reduce the height of the cards, something similar to the styling you use on the portlet.  Perhaps it's just reducing font and white space.  Having the information on the cards is valuable...  So I think I would do this:

        • Keep all the information that is currentlyon the cards
        • Reduce the font size to the same as the portlet
        • Reduce vertical white space
        • Perhaps make what shows on the card configurable?

        I like the idea of an AJAX interface to make updates.  I think you could probably still achieve bumping cards to the top.  This is the primary complaint of my team, the amount of scrolling involved.  We typically have 50+ tasks per sprint.  Whatever you can do here would be great.

        How are the cards currently ordered per column?  It seems to be different in the report and portlet.  Is this controlled by the filter?

        Thanks again!

        1. Jul 17, 2007

          Tommi Laukkanen says:

          Hi Stephen, I just released v1.3.0 which now has a smaller font on the issue ca...

          Hi Stephen,

          I just released v1.3.0 which now has a smaller font on the issue cards and I reduced vertical white space between cards to 1 pixel. I also moved the person information from the bottom of the card to the top along with the issue number, hours left and priority and type icons. The report is now created based on user specified filter (as portlet) so now you can define yourself which column is used for ordering in your filter.

          I hope that these changes will reduce some of the complaints from your team

          I'll think about the "bumping" feature. We are using the ordering for priority so when issues are bumped up that would lose the priority information between issues with different statuses.

          1. Jul 18, 2007

            Stephen Voorhees says:

            I downloaded and installed the latest version, I like it!  I like that ...

            I downloaded and installed the latest version, I like it!  I like that it still has all the data biut greatly reduces the scrolling, Nice work!

            I noticed the cards are now draggable, it would be very slick if you can get the AJAX updates working to change status as people move cards around.  I'll keep an eye on it !

            1. Jul 20, 2007

              Tommi Laukkanen says:

              Thanks! Yes, I was planning to implement the AJAX updates for the status change ...

              Thanks! Yes, I was planning to implement the AJAX updates for the status change but don't hold your breath while waiting for the next release though

  5. Aug 04, 2007

    Nayana says:

    thanks for the excellent plugin, i customized it for my project needs very quick...

    thanks for the excellent plugin, i customized it for my project needs very quickly by modifying the template to include additional statuses. Thank you very much once again really big help.

  6. Aug 10, 2007

    petur agustsson says:

    Great plugin, Ajax update function along with drag-n-drop would be super. I...

    Great plugin, Ajax update function along with drag-n-drop would be super. Ideal if the update would allow for workflow and task assignment changes.

  7. Oct 23, 2007

    Dan Woodward says:

    With the Time tracking in 3.11 able to monitor subtask remaining time as part of...

    With the Time tracking in 3.11 able to monitor subtask remaining time as part of the parent ticket's time tracking, it would be helpful if the plugin was able to do the same, as currently it will only show the time remaining for the parent ticket.

    Thanks!

    Dan

  8. Feb 11, 2008

    Alessandro Di Bella says:

    Hi, I tried to install the plugin but I keep getting " ...

    Hi,

    I tried to install the plugin but I keep getting " Could not find any values for field 'Filter'" when I run the report.

    Any idea on what I did wrongly?

    Thanks

    Alessandro 

    1. Feb 14, 2008

      Tommi Laukkanen says:

      Hi Alessandro, What version of JIRA are you using? Do you have any saved filter...

      Hi Alessandro,

      What version of JIRA are you using? Do you have any saved filters when you are running the report? Try to save a issue search filter before running a report. I'm using something like "Current Sprint" filter that always points into a latest version that we are working on.

      Let me know if this solves your problem.

      1. Feb 21, 2008

        Amit Khullar says:

        Hi ,      I found your plugin very useful for my project , ...

        Hi ,

             I found your plugin very useful for my project , thankx for it.

            I have a request also for you that if it is possible can we add a config page where we can assign the different states to the different task status.

        Or probably if u can tell where I can go and add the code for same in the source ( which file, I am not a developer though but i can try. ) 

        Thanks Again for such a nice plugin.

        Amit 

  9. Oct 07, 2008

    Bob Swift says:

    Are there problems with this plugin on 3.13? Can't seem to configure an existin...

    Are there problems with this plugin on 3.13? Can't seem to configure an existing portlet nor add a new one.

    1. Nov 18, 2008

      Tommi Laukkanen says:

      This should be now fixed. Download the latest release (v1.4).

      This should be now fixed. Download the latest release (v1.4).

  10. Oct 27, 2008

    Sebastian Otaegui says:

    I am having a problem with Jira 3.13 and this is the error is throwing: Cause:...

    I am having a problem with Jira 3.13 and this is the error is throwing:

    Cause:
    com.atlassian.jira.util.dbc.Assertions$NullArgumentException: id should not be null!

    Stack Trace: [hide]com.atlassian.jira.util.dbc.Assertions$NullArgumentException: id should not be null!
    at com.atlassian.jira.util.dbc.Assertions.notNull(Assertions.java:14)
    at com.atlassian.jira.issue.search.DefaultSearchRequestManager.getSearchRequestById(DefaultSearchRequestManager.java:110)
    at com.atlassian.jira.issue.search.DefaultSearchRequestManager.getRequest(DefaultSearchRequestManager.java:287)
    at com.substanceofcode.jiraplugins.AgileWallReport.generateReportHtml(AgileWallReport.java:94)
    at com.atlassian.jira.web.action.browser.ConfigureReport.doExecute(ConfigureReport.java:108)
    at webwork.action.ActionSupport.execute(ActionSupport.java:153)
    at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:54)
    at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:132)
    at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:178)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:73)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
    at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
    at com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(SitemeshExcludePathFilter.java:38)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:192)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.seraph.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:120)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:125)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
    at com.atlassian.jira.web.filters.JIRAProfilingFilter.doFilter(JIRAProfilingFilter.java:16)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:43)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.jira.web.filters.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:50)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:350)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:71)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:33)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.atlassian.jira.appconsistency.db.DatabaseCompatibilityEnforcerFilter.doFilter(DatabaseCompatibilityEnforcerFilter.java:39)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:595)

    Request Information:
    - Request URL: http://devmgt.chi.warranty.local/500page.jsp
    - Scheme: http
    - Server: devmgt.chi.warranty.local
    - Port: 80
    - URI: /500page.jsp
    - Context Path:
    - - Servlet Path: /500page.jsp
    - - Path Info: null
    - - Query String: selectedProjectId=10260&reportKey=com.substanceofcode.jiraplugins%3Aagilewallreport&Next=Next

    Request Attributes
    - javax.servlet.forward.request_uri : /secure/ConfigureReport.jspa
    - javax.servlet.forward.context_path :
    - javax.servlet.forward.servlet_path : /secure/ConfigureReport.jspa
    - javax.servlet.forward.path_info : /500page.jsp
    - javax.servlet.forward.query_string : selectedProjectId=10260&reportKey=com.substanceofcode.jiraplugins%3Aagilewallreport&Next=Next
    - javax.servlet.error.message :
    - javax.servlet.error.exception : javax.servlet.ServletException: id should not be null!
    - os_securityfilter_already_filtered : true
    - com.atlassian.jira.web.filters.ActionCleanupDelayFilter : true
    - com.atlassian.johnson.filters.JohnsonFilter_already_filtered : true
    - javax.servlet.error.request_uri : /secure/ConfigureReport.jspa
    - jira.webwork.generic.dispatcher : webwork.dispatcher.GenericDispatcher@3c64e
    - com.atlassian.gzipfilter.GzipFilter_already_filtered : true
    - javax.servlet.error.status_code : 500
    - com.atlassian.jira.web.filters.RequestCleanupFilter_already_filtered : true
    - _sitemesh_filterapplied : true
    - jira.webwork.cleanup : false
    - gzipMimeTypes : text/html,text/javascript,text/css,text/plain,application/x-javascript,application/javascript
    - javax.servlet.error.servlet_name : action
    - atlassian.core.seraph.original.url : /secure/ConfigureReport.jspa?selectedProjectId=10260&reportKey=com.substanceofcode.jiraplugins%3Aagilewallreport&Next=Next
    - loginfilter.already.filtered : true
    - webwork.result : Value stack =========== =========== 

    1. Nov 18, 2008

      Tommi Laukkanen says:

      This is now fixed. Please download v1.4.

      This is now fixed. Please download v1.4.

  11. Nov 20, 2008

    Ola Nybakk says:

    Thanks a lot for this nice plugin! It is a great tool for keeping project fo...

    Thanks a lot for this nice plugin! It is a great tool for keeping project focus and overview. Works great with JIRA 3.10 Pro.

    We also use the Issue Order plugin (http://confluence.atlassian.com/display/JIRAEXT/Custom+Issue+Order), and the perfect match would be that the Agile Wall listed the content relative to Issue Order, given that the plugin is installed.

    Ola

  12. Feb 18

    Prakashkumaar says:

    I just upgraded from 3.13.1 to 3.13.2.  I could see a warning message in th...

    I just upgraded from 3.13.1 to 3.13.2.  I could see a warning message in the home page as follows:

    WARNING: com.substanceofcode.jiraplugins:agilewallportlet
    Portlets of this type have been disabled or removed from the system.

    I checked under the administration - plugins. The Agile Wall Report plugin (1.4) is there and enabled as well.

    What should be problem? How do I get rid out of this Warning message on the homepage?

    Thanks, Prakash



    1. Feb 18

      Tommi Laukkanen says:

      Maybe you could try to remove the portlet from dashboard and then re-adding it. ...

      Maybe you could try to remove the portlet from dashboard and then re-adding it. That fixed same kind of problem with my installation.

  13. Mar 06

    Sidd says:

    First of all...Thanks for the plugin..Looking foward to make it work. I get th...

    First of all...Thanks for the plugin..Looking foward to make it work.

    I get the ERROR:

    Error: There was a problem loading the descriptor for module 'portlet' in plugin 'Agile Wall Report'. Error retrieving dependency of class: com.substanceofcode.jiraplugins.AgileWallPortlet. Missing class: com/atlassian/jira/bc/JiraServiceContext

    Using it on 3.7.2 build#186....Do I need to upgrade?

    Cheerios!

    Sidd

    1. Mar 06

      Tommi Laukkanen says:

      Yes, you'll need to upgrade your JIRA instance. There have most likely been some...

      Yes, you'll need to upgrade your JIRA instance. There have most likely been some API changes since 3.7.2.