| Name | JIRA Time Tracking And Billing Reporting Collection |
|---|---|
| Author | jPlugs |
| Homepage | N/A |
| Price | 399$ (USD) Buy Now |
| License | Commercial |
| IssueTracking | http://developer.atlassian.com/jira/browse/TMRPT |
| Download | www.jplugs.com |
Download
www.jplugs.com
You can try out the plugin for free for one month.
Learn more
www.jplugs.com
Atlassian Plugin Exchange

Comments (136)
Aug 18, 2006
jira63 says:
Hi, Do you have any plan to add some feature to facilitate time logging&nb...Hi,
Do you have any plan to add some feature to facilitate time logging for example under a weekly time sheet format to make it easy for users to log time just once a week instead of every day ?
Charly
Aug 18, 2006
Jes A says:
For now just reporting. What about the [Kaamelot FastWorklog]? Doesn't...For now just reporting.
What about the [Kaamelot FastWorklog]?
Doesn't that meet you requirements?
/Jes
Jan 26, 2009
Sohail Somani says:
You might be interested in my application: http://worklogassistant.com It lets ...You might be interested in my application: http://worklogassistant.com
It lets the user log time almost effortlessly.
Aug 29, 2006
Dmitry Tsitelov says:
Plugin has various problems if JIRA's base path includes some directory after ho...Plugin has various problems if JIRA's base path includes some directory after hostname, like 'http://somehost:8080/jira';
Problem caused by some mistakes with URI.resolve() manipulations in TimeTrackingTools class.
Consider the patch - [^TimeTrackingTools.java.patch]
/Cit
Aug 29, 2006
Jes A says:
Cit, Can't reproduce the errors when using an extended base path. Actually we u...Cit,
Can't reproduce the errors when using an extended base path. Actually we use it in an installation with nearly the same path as the example - apart from port and domain. (Could it be that the Base URL in Administration > General Configuration is invalid?)
But anayway: My conclusion is that the plugin will produce invalid URL's when the baseurl and the query string respectively has no trailing or leading "/" (or both has it).
Will soon upload a new release to fix this. (Also, there is probably already a solution in the JIRA API - has just not been able to find it.)
Cheers,
Jes
Aug 30, 2006
Jes A says:
The 3.6.1 version of JIRA TimeTracking Reporting Collection has been uploaded wi...The 3.6.1 version of JIRA TimeTracking Reporting Collection has been uploaded with af property file with some settings for the "Group Selector" which are specific for my company.
Please replace the current with this instead. [timetracking.properties|^timetracking.properties]
Sep 01, 2006
Asbjørn Aarrestad says:
Great plugin, but is is possible to add some "grand total" information, ie to th...Great plugin, but is is possible to add some "grand total" information, ie to the "TimeTracking Issue Completion" view. (total time estimated, total time spent, total time remaining
Sep 01, 2006
Jes A says:
It could be done. But there are a few challenges from my point of view. Fist of ...It could be done.
But there are a few challenges from my point of view.
Fist of all the TimeTracking Issue Completion is a bit special because it iterates over all issues contained in the filter/project. All the others reports/portlets only iterates over the issues which have worklogs.
Adding a Grand Total for OriginalEstimate and RemaingEstimate could easily give one an wrong impression of the current status, since not all issues necessarily have estimates.
The best way to implement the feature is to do it in a velocity file. The documentation of the plugin is currently quite miserable. But you can actually easily add you own velocity files which define you own report or portlets. Look in the .properties file for how to!
Sep 23, 2006
Zacharias J. Beckman says:
What would it take to modify the timesheet so that a project is optional (that i...What would it take to modify the timesheet so that a project is optional (that is, if no project is specified, we would get a timesheet report across all projects)? In its current form, this report looks great but doesn't fill the need of actually giving us time reports, since each user's work is hidden inside projects. Given the number of projects, I can't run this report for each project and then manually add up user's time across them...
Sep 23, 2006
Zacharias J. Beckman says:
Oooh. Figured this out. I created a filter for "All Issues" that is... well, a f...Oooh. Figured this out. I created a filter for "All Issues" that is... well, a filter that lists all issues. Period. Big filter, but if I use it in the TimeTracking Report and use a User Total, it works perfect. Exactly what I needed, thanks for this excellent plugin.
A few minor nits I noticed:
Sep 24, 2006
Jes A says:
1) See my comment from Aug 30 about the properties file in the zip. 2) The diffe...1) See my comment from Aug 30 about the properties file in the zip.
2) The difference between duration and period:
Duration: Only worklogs from the start and end date will be listed, summed up etc.
Period: Only relevant for some of the reports/portlets formats. Fx. It will sum up the spent time for a user pr. Day, week, month ect.
So if Period is only relevant for some portlet/report formats, why can a user select it for all portlet/report formats. Because the advantages of having a generic configuration and a framework for TimeTracking reports and portlets is clearly higher than maintaining several different portlets and reports.
3) Well, I like to see the participating users. But feel free to edit the velocity files. You can easily exclude it.
Generally the plugin is rather pure documented. Hoping to update it soon with localization and better documentation.
But you should have a look in the .properties file. Here you can configure the plugin so it to some extend matches you needs.
Oct 03, 2006
Steve Ragle says:
Posting on behalf of a co-worker who can't add comments for some reason even whe...Posting on behalf of a co-worker who can't add comments for some reason even when logged in. -Steve
From: Andrew S.
Hi,
We installed your time reporting plug-in for JIRA and it is giving us valuable info, but I have a question.
The I am using the Time Tracking - issue accumulated report and find that it is only reporting time in chunks of whole hours. If someone records time spent as 45 minutes the report shows zero. The totals, however, reflect the correct total number so I think it is just a display issue. How do I change this?
Thanks for your help.
Andrew Stoloff
Oct 03, 2006
Jes A says:
It's a bug! Any value below 1 hour (3600 seconds) will be returned as 0 hour...It's a bug! Any value below 1 hour (3600 seconds) will be returned as 0 hour. But values higher than 3600 seconds should be returned correct (I.E 5400 seconds will be returned as 1.5 hour.)
I'm working on a new release which will correct this.
A temporary fix would be to edit the getTimePretty(long time) method in class com.ja.jira.plugin.timetracking.utils.TimeTrackingTools to return "return getDecimalFormat().format((double) time / 3600);"
Thanks for your feedback!
/Jes
Dec 07, 2006
Jes A says:
This bug was fixed by version 0.8This bug was fixed by version 0.8
Jan 01, 2007
Ronald de Vries says:
Jes, are you checking this plugin for 3.7 compatibility? When will I be able to ...Jes, are you checking this plugin for 3.7 compatibility? When will I be able to try this in 3.7EE?
Jan 02, 2007
Jes A says:
Ronald, I'm pretty sure that this plugin is not compatible with 3.7 because of s...Ronald, I'm pretty sure that this plugin is not compatible with 3.7 because of several changes in the API I noticed when I fixed the RiskManagement plugin.
Hopefully it could be done by the end of this week. But it depends on the impact and depth of the API changes.
Jan 03, 2007
Darryl Voss says:
Does anyone have any information on when a release will be made of this plugin t...Does anyone have any information on when a release will be made of this plugin that works on version 3.7? I have upgraded but can no longer use this plugin.
Jan 04, 2007
Jes A says:
Hopefully by the end of this week - the API have changed quite a lot from 3.6.x ...Hopefully by the end of this week - the API have changed quite a lot from 3.6.x to 3.7 regarding the handling of worklogs.
Jan 07, 2007
Jes A says:
Should work with 3.7 now. Let me know if you find any bugs... (and you probably ...Should work with 3.7 now. Let me know if you find any bugs... (and you probably will).
Jan 08, 2007
Dharmendra Varma says:
Hi Jes Thanks. However, I am unable to unzip the files. It is throw...Hi Jes
Thanks. However, I am unable to unzip the files. It is throwing error while unzipping it. Can you please do the needful?
Jan 08, 2007
Jes A says:
I think this is a confluence problem. Downloaded files are messed up using IE 7....I think this is a confluence problem. Downloaded files are messed up using IE 7.0. Using FireFox no problems.
Jan 22, 2007
Alister Air says:
Hi, I've installed the plugin, and reckon it's excellent. The only problem I'm...Hi,
I've installed the plugin, and reckon it's excellent. The only problem I'm having at the moment is in getting that plugin into a Confluence page using the jiraportlet macro. Is anyone else having any problems? I have added the authentication information needed at the end of the URL (&os_username=<user>&os_password=<password>) but the Confluence page displays nothing. The URL ends in targetUser= and I've tried with two & symbols (ie, targetUser=&&os_username). The URL also has spaces in it, as I'm making a report based on a project category (great feature, by the way - not enough system functionality uses project categories) that has spaces in the name. I've tried replacing the spaces with %20 or commenting them using ** but neither help.
Thanks,
Alister
Jan 23, 2007
Jes A says:
Alister, have created an issue in Jira, tracking this bug: http://developer.atla...Alister, have created an issue in Jira, tracking this bug: http://developer.atlassian.com/jira/browse/TMRPT-1 (A new version which I think resolves you request can be downloaded from there, let me know if it works)
Cheers Jes
Jan 24, 2007
Alister Air says:
Hi - nope. I get an error message in Confluence. It returns an error: type Ex...Hi - nope. I get an error message in Confluence. It returns an error:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException
and more stuff below this...
Jan 24, 2007
Alister Air says:
Actually, it does work for a saved filter, but does not work for a Project Categ...Actually, it does work for a saved filter, but does not work for a Project Category search... the saved filter returns the portlet within Confluence, but the Project Category returns the error above.
Jan 24, 2007
Jes A says:
Please use http://developer.atlassian.com/jira/browse/TMRPT-1Please use http://developer.atlassian.com/jira/browse/TMRPT-1
Jan 24, 2007
Alister Air says:
I did, and it worked for the saved filter search but not for the project categor...I did, and it worked for the saved filter search but not for the project category search. So unless you updated it between my previous post and your reply, it's still not working properly for project category. Saved filters will do though.
Jan 24, 2007
Frank Knobloch says:
Hi all Do anybody here know the plugin http://confluence.atlassian.com/display/...Hi all
Do anybody here know the plugin http://confluence.atlassian.com/display/JIRAEXT/Timesheet+report+and+portlet also? Are both useful? Here i see some mailing capabilites and such things. The Timesheet report and portlet has som nice reports whicht maybe useful. I'm interested in expriences with both plugins.
Thanks in advance
Frank
Jan 24, 2007
Jeff Williams says:
Is it possible to calculate the length of time that a specific issue remained in...Is it possible to calculate the length of time that a specific issue remained in a workflow state with this plugin? Also, is it possible to track how many times an issue was returned to a specific user or a specific state? Or is that incorporated in another plugin?
Jan 24, 2007
Jes A says:
No, it's out of scope, since this plugin deals with timetracking. You request co...No, it's out of scope, since this plugin deals with timetracking. You request could probably be implemented with a customfield, or a report/portlet plugin which iterates over changelogs. /Jes
Feb 27, 2007
Vincent Thoulé says:
Hi Jeff, The functionnality is provided by Transitions Summary Tab Panel in JI...Hi Jeff,
The functionnality is provided by Transitions Summary Tab Panel in JIRA Suite Utilities.
Vincent
Jan 29, 2007
Jaspreet S Nayyar says:
When you try compile the Report with Period set as "Week" and Relative Duration ...When you try compile the Report with Period set as "Week" and Relative Duration S=set as "This Month", the catalina.out shows the following error:
ERROR RHS of #set statement is null. Context will not be modified. com/ja/jira/plugin/timetracking/templates/timetrackingportletperiod_issuedetail.vm
For all other parameters of Period and Relative Duration, it works well.
Please see if this error can be rectified.
Thanks
Jaspreet
Jan 29, 2007
Jes A says:
Please track and comment on this Jira issue: http://developer.atlassian.com/jira...Please track and comment on this Jira issue: http://developer.atlassian.com/jira/browse/TMRPT-2
Thx.
Mar 07, 2007
Rick Cogley says:
Wow, what a nice plugin, thank you! I'm trying to get the service and its auto ...Wow, what a nice plugin, thank you!
I'm trying to get the service and its auto email function to work, but I seem to be getting errors in the log that look like this:
2007-03-07 20:35:33,239 http-7800-Processor23 ERROR [webwork.util.ServletValueStack] METHOD: "propertyMap", exception: java.lang.ClassCastException: com.ja.jira.plugin.timetracking.valuesgenerators.RelativeDurationValuesGenerator$RelativePeriodeComparable at java.lang.String.compareTo(String.java:90) at java.util.TreeMap.compare(TreeMap.java:1093) at java.util.TreeMap.getEntry(TreeMap.java:347) at java.util.TreeMap.get(TreeMap.java:265) at com.atlassian.configurable.ObjectConfigurationPropertyImpl.get(ObjectConfigurationPropertyImpl.java:176) at com.atlassian.jira.configurableobjects.ConfigurableObjectUtil.getPropertyMap(ConfigurableObjectUtil.java:81) at com.atlassian.jira.web.action.admin.ViewServices.getPropertyMap(ViewServices.java:140) at sun.reflect.GeneratedMethodAccessor171.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:61) at webwork.util.InjectionUtils.invoke(InjectionUtils.java:52) at webwork.util.ValueStack.findValue(ValueStack.java:426) at webwork.util.ValueStack.findValue(ValueStack.java:175) at webwork.view.taglib.WebWorkBodyTagSupport.findValue(WebWorkBodyTagSupport.java:61) at webwork.view.taglib.IteratorTag.doStartTag(IteratorTag.java:71) at org.apache.jsp.secure.admin.views.services.viewservices_jsp._jspx_meth_webwork_iterator_1(viewservices_jsp.java:815) at org.apache.jsp.secure.admin.views.services.viewservices_jsp._jspx_meth_webwork_iterator_0(viewservices_jsp.java:653) at org.apache.jsp.secure.admin.views.services.viewservices_jsp._jspService(viewservices_jsp.java:135) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:279) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 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:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 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:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:41) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.gzip.GzipFilter.doFilter(GzipFilter.java:64) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.appconsistency.db.DatabaseCompatibilityEnforcerFilter.doFilter(DatabaseCompatibilityEnforcerFilter.java:25) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) 2007-03-07 20:35:33,241 http-7800-Processor23 WARN [webwork.view.taglib.IteratorTag] Value is null! Returning an empty set.Is this related, and if so, is there anything I can check?
Please advise.
Kind regards,
Rick Cogley
Mar 07, 2007
Jes A says:
Please watch and comment on this issue: http://developer.atlassian.com/jira/brow...Please watch and comment on this issue: http://developer.atlassian.com/jira/browse/TMRPT-5
Mar 08, 2007
Jason Lines says:
This is a great plugin. I would like to extend the filtering to include a custo...This is a great plugin.
I would like to extend the filtering to include a custom field, is there a way to accomplish this by simply editing the atlassian-plugin.xml or will i need to change some source too?
thanks
Jason
Mar 08, 2007
Jes A says:
Hi, This should now be possible in version 0.92. The CustomFieldManager is now i...Hi,
This should now be possible in version 0.92.
The CustomFieldManager is now included in the velocity params, and can be accessed with the key [customFieldManager].
You should be able to retrieve a specific CustomField like this:
$cusomFieldManager.getCustomFieldObject("customfield_10000")
And then get the value of the CustomField for an issue like this
$issue.getCustomFieldValue(customField)
Off course this will only make senses when you have access to the issue.
(By the way, haven't tested this, but should work
Cheers,
Jes
Mar 09, 2007
Jes A says:
Reading you question again, I can see that my answer doesn't meet you requiremen...Reading you question again, I can see that my answer doesn't meet you requirements. My answer covers if you want to display a value for an issue in a report or portlet.
No, the plugin does not make it possible to filter using values from a customfield. I would suggest that this was handled in some saved filters.
The filtering options that are available are options that filters out worklogs and not issues, since issue filtering is done better and more elegant in the filtering mechanism provided by Atlassian.
Cheers
Jes
Mar 26, 2007
Horst Hein says:
Hi I just installed the plugin. The reporting links show up in JIRA. When I try...Hi
I just installed the plugin. The reporting links show up in JIRA. When I try to use a report I get the following error stack:
HTTP Status 404 - Could not execute action [ConfigureReport]:com.atlassian.jira.issue.worklog.WorklogManager<p><small><small><pre>java.lang.NoClassDefFoundError: com.atlassian.jira.issue.worklog.WorklogManager at com.ja.jira.plugin.timetracking.model.TimeTracking.getWorklogManager(TimeTracking.java:513) at com.ja.jira.plugin.timetracking.model.TimeTracking.addWorkLogs(TimeTracking.java:104) at com.ja.jira.plugin.timetracking.model.TimeTracking.getVelocityParams(TimeTracking.java:459) at com.ja.jira.plugin.timetracking.model.TimeTracking.getReport(TimeTracking.java:340) at com.ja.jira.plugin.timetracking.report.TimeTrackingReport.generateReportHtml(TimeTrackingReport.java:48) at com.atlassian.jira.web.action.browser.ConfigureReport.doExecute(ConfigureReport.java:96) at webwork.action.ActionSupport.execute(ActionSupport.java:153) at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:57) at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:132) at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:185) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 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:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132) at com.atlassian.jira.web.filters.ProfilingAndErrorFilter.doFilter(ProfilingAndErrorFilter.java:35) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:39) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.gzip.GzipFilter.doFilter(GzipFilter.java:72) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) </pre></small></small></p>
What is wrong here?
Thanks for any help!
best wishes
horst
Mar 26, 2007
Jes A says:
Probably a mismatch between Jira version and plugin version. If the proble...Probably a mismatch between Jira version and plugin version. If the problem continues, please create a bug report here http://developer.atlassian.com/jira/browse/TMRPT
Looks like that the WorklogManager is not present, which as I recall was introduced in Jira version 3.7.x
Cheers,
Jes
Mar 27, 2007
Horst Hein says:
that might be the reason. we are currently using 3.6.5. So we will have to upda...that might be the reason. we are currently using 3.6.5.
So we will have to update to a newer version.
Thanks for the hint
horst
Mar 27, 2007
Horst Hein says:
that might be the reason. we are currently using 3.6.5. So we will have to upda...that might be the reason. we are currently using 3.6.5.
So we will have to update to a newer version.
Thanks for the hint
horst
Mar 29, 2007
Steve Webster says:
Hi there I have installed the time tracking plug-in, however I need to be able ...Hi there
I have installed the time tracking plug-in, however I need to be able to report time across multiple projects for each team member logging time into Jira. Is there a way to get such a report. One developer might be working on 3 different projects. I have not been able to find how to do this, if you can at all - create a time sheet, per user, across multiple projects. Is this possible?
Mar 29, 2007
Jes A says:
Steve, Simply create and save a filter that filters out the issues you want to b...Steve,
Simply create and save a filter that filters out the issues you want to base the report at. Let the filter span over the relevant projects.
Cheers,
Jes
Apr 10, 2007
igor yankov says:
Hi, I installed plugin and began using it. In generall, it looks like timesheet...Hi,
I installed plugin and began using it. In generall, it looks like timesheet plugin. But unfortunately, there are no way to build report for some developers. For example, if you want get logwork information for many people in one sheet to compare some activites, you can not do it. If i set field "User" empty, then get follow error
java.lang.NullPointerException
at com.ja.jira.plugin.timetracking.model.TimeTracking.isValidWorklog(TimeTracking.java:550)
at com.ja.jira.plugin.timetracking.model.TimeTracking.addWorkLogs(TimeTracking.java:112)
at com.ja.jira.plugin.timetracking.model.TimeTracking.getVelocityParams(TimeTracking.java:459)
at com.ja.jira.plugin.timetracking.model.TimeTracking.getReport(TimeTracking.java:340)
at com.ja.jira.plugin.timetracking.report.TimeTrackingReport.generateReportHtml(TimeTrackingReport.java:48)
at com.atlassian.jira.web.action.browser.ConfigureReport.doExecute(ConfigureReport.java:96)
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:209)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
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:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
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:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:41)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.jira.web.filters.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:49)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.jira.web.filters.gzip.GzipFilter.doFilter(GzipFilter.java:72)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.atlassian.jira.appconsistency.db.DatabaseCompatibilityEnforcerFilter.doFilter(DatabaseCompatibilityEnforcerFilter.java:39)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
May be i did something wrong?
Thanks in advance.
Apr 10, 2007
Jes A says:
Please create change request and bug reports here: http://developer.atlassian.co...Please create change request and bug reports here: http://developer.atlassian.com/jira/browse/TMRPT
Maybe you could specify a use case and attach some screen shots.
Cheers, Jes
Apr 12, 2007
Jes A says:
Igor, 1) You can indeed compile a report/portlet that shows several users. Use ...Igor,
1) You can indeed compile a report/portlet that shows several users. Use a group to filter out the users you want, and only worklogs from this group will be part of the report.
2) The NullPointerException probably occurs because you Jira instance have deleted users. Try to compile the report with a saved filter where you are certain that no work has been logged by now deleted users.
Jun 25, 2007
Dirk Banscherus says:
I installed the plugin with Jira 3.9.0. following the instructions but after res...I installed the plugin with Jira 3.9.0. following the instructions but after restarting Jira nothing happens at all. I see no additional reports nor portlets.
Any ideas what I could do to get the plugin run?
Thanks in advance
Dirk
Jun 26, 2007
Jes A says:
I haven't compiled nor tested the plugin against 3.9 yet. Atlassian is making ne...I haven't compiled nor tested the plugin against 3.9 yet.
Atlassian is making new versions so fast now, that it's difficult to keep track of them.
But if the plugin is correctly installed you should at least see some errors in logs or in std.out.
Jun 27, 2007
Dirk Banscherus says:
I reinstalled the plugin a third time and now it works. Looks like I did somethi...I reinstalled the plugin a third time and now it works. Looks like I did something wrong the first two times.
Sorry for the inconvenience
Dirk
Jul 19, 2007
Marshall Lewis says:
I've built a new jar (to replace the one in the .93 version of the plugin) that ...I've built a new jar (to replace the one in the .93 version of the plugin) that will work with Jira 3.10. Details and the jar can be found in the issue I reported: http://developer.atlassian.com/jira/browse/TMRPT-12
Jul 31, 2007
Vincent Eggen says:
Tried the new Jar under 3.10. The portlets give no results. When I click on the...Tried the new Jar under 3.10.
The portlets give no results. When I click on the "save" button nothing happen and no message is thrown to the console.
On top of that, some reports throw this exception:
2007-07-31 15:01:40,218 http-8080-Processor24 WARN [velocity] org.apache.velocity.runtime.exception.ReferenceException: reference : template = com/ja/jira/plugin/timetracking/templates/timetrackingreport.vm [line 27,column 114] : $remoteUse r is not a valid reference. at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:277) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:230) at org.apache.velocity.Template.merge(Template.java:256) at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:450) at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:76) at com.atlassian.velocity.DefaultVelocityManager.getEncodedBody(DefaultVelocityManager.java:60)I don't know if it's related.
Any idea ?
Vince
Aug 15, 2007
Thomas Roth says:
Is there a possibility to define something like a Project Permission ? I want to...Is there a possibility to define something like a Project Permission ? I want to allow my customer to Browse Projects. But if i do so the reports of timetracking appears. And the the customer should not see this. How could i avoid this ?
Aug 25, 2007
Jes A says:
I don't think that the JIRA plugin framework allows one to set up hat only certa...I don't think that the JIRA plugin framework allows one to set up hat only certain groups can see that a certain report is available.
But a work-a-round would be to modify the source and check for a group or role membership and then allow or disallow the user to run the report/portlet.
Actually I think one also could put this role/group check in the velocity files - timetrackingportlet.vm and timetrackingreport.vm.
/Jes
Aug 28, 2007
Ulla Jutila says:
This looks like a very useful plugin. I tried this plugin on a standalone window...This looks like a very useful plugin. I tried this plugin on a standalone windows installation (Jira Enterprise Edition 3.10.2 ), I used the zip file for 3.10.x. Unfortunately I got a Java NullpointerException, that broke my system. I was able to configure one portlet with certain configuration, but not another with a different one. The result was that I was unable to log back to Jira after logging out. I had to remove the plugin and was then able to log back in. The portlet I configured was TimeTracking Portlet Period with the following configuration:
Portlet/Report Format: Time Tracking Period User Detail
Filter: hard work project issues
(a test project, the filter is a simple filter where the only search criteria is the project)
Relative duration: this month
Period: day
Group: jira-developers
The portlet showed fine on the Dashboard, but when I logged out and tried to log back in I got the stack trace below.
Corresponding configuration with Filter or Project: Project hard work worked OK! Of course this configuration accomplishes the same thing. But I would like to be able to use filters to make more specific reports. Further, after I got the Exception, I had to remove also the working Time Tracking Portlet configuration from the Dashboard, in order to be able to login again with this plugin installed!
Once again, this functionality looks very useful and I would like to use it in my organization.
br,
Ulla
Cause:
java.lang.NullPointerException
Stack Trace: [hide]
java.lang.NullPointerException at java.util.HashMap.putAll(Unknown Source) at com.atlassian.jira.portal.PortletImpl.getViewHtml(PortletImpl.java:68) at com.atlassian.jira.web.portlet.bean.PortletRenderer.getNormalHtml(PortletRenderer.java:83) at com.atlassian.jira.web.portlet.bean.PortletRenderer.renderPortlet(PortletRenderer.java:61) at org.apache.jsp.secure.views.dashboard_jsp._jspService(dashboard_jsp.java:1262) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:279) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:73) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 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:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) 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:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:43) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.web.filters.gzip.GzipFilter.doFilter(GzipFilter.java:72) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at com.atlassian.jira.appconsistency.db.DatabaseCompatibilityEnforcerFilter.doFilter(DatabaseCompatibilityEnforcerFilter.java:39) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source) Referer URL: *http://localhost:8080/secure/Logout!default.jspa*
Build Information:
Uptime: N/A
Edition: Enterprise
Version: 3.10.2
Build Number: 262
Atlassian Partner: null
Installation Type: JIRA Standalone
Server ID: AYWT-H8WM-L60E-5807
Server Information:
Application Server: Apache Tomcat/5.5.20
Servlet Version: 2.4
File Paths:
Location of entityengine.xml: file:/D:/Program%20Files/JIRA-Enterprise-3.10.2/atlassian-jira/WEB-INF/classes/entityengine.xml
Location of atlassian-jira.log: d:\Program Files\JIRA-Enterprise-3.10.2\atlassian-jira.log
Memory Information:
Total Memory: 127 MB
Free Memory: 94 MB
Used Memory: 33 MB
System Information:
System Date: Tuesday, 28 Aug 2007
System Time: 10:20:35
Current Working Directory: d:\Program Files\JIRA-Enterprise-3.10.2
Java Version: 1.6.0
Java Vendor: Sun Microsystems Inc.
JVM Version: 1.0
JVM Vendor: Sun Microsystems Inc.
JVM Implementation Version: 1.6.0-b105
Java Runtime: Java(TM) SE Runtime Environment
Java VM: Java HotSpot(TM) Client VM
User Name: jutilul
User Timezone: Europe/Helsinki
User Locale: English (United States)
System Encoding: Cp1252
Operating System: Windows XP 5.1
OS Architecture: x86
Application Server Container:
Database type: hsql
Database JNDI address: java:comp/env/jdbc/JiraDS
Database URL: Hidden
Database version: 1.8.0
Database driver: HSQL Database Engine Driver 1.8.0
External user management: OFF
Request Information:
- Request URL: http://localhost:8080/500page.jsp
- Scheme: http
- Server: localhost
- Port: 8080
- URI: /500page.jsp
- Context Path:
- - Servlet Path: /500page.jsp
- - Path Info: null
- - Query String:
Request Attributes
- javax.servlet.forward.request_uri : /secure/Dashboard.jspa
- javax.servlet.forward.context_path :
- javax.servlet.forward.servlet_path : /secure/Dashboard.jspa
- javax.servlet.forward.path_info : /500page.jsp
- com.atlassian.jira.web.filters.gzip.GzipFilter_already_filtered : true
- os_securityfilter_already_filtered : true
- jira.webwork.cleanup : false
- atlassian.core.seraph.original.url : /secure/Dashboard.jspa
- javax.servlet.error.status_code : 500
- javax.servlet.error.servlet_name : action
- loginfilter.already.filtered : true
- com.atlassian.johnson.filters.JohnsonFilter_already_filtered : true
- jira.webwork.generic.dispatcher : webwork.dispatcher.GenericDispatcher@1952be0
- com.atlassian.jira.web.filters.ActionCleanupDelayFilter : true
- javax.servlet.error.message :
- webwork.result : Value stack =========== ===========
- webwork.view_uri : /secure/views/dashboard.jsp
- webwork.request_uri : /secure/Dashboard.jspa
- _sitemesh_filterapplied : true
- javax.servlet.error.exception : org.apache.jasper.JasperException
- com.atlassian.jira.web.filters.RequestCleanupFilter_already_filtered : true
- javax.servlet.error.request_uri : /secure/Dashboard.jspa
- user : webwork.dispatcher.GenericDispatcher$LazyValueHolder@739474
- webwork.valuestack.head : com.atlassian.jira.portal.PortletConfigurationImpl@174be7
Request Logging
0 log statements generated by this request:
Listeners
- Issue Cache Listener (com.atlassian.jira.event.listeners.cache.IssueCacheListener)
- Issue Index Listener (com.atlassian.jira.event.listeners.search.IssueIndexListener)
- Mail Listener (com.atlassian.jira.event.listeners.mail.MailListener)
Services
- Mail Queue Service (com.atlassian.jira.service.services.mail.MailQueueService)
- Delay: 1 minutes
Plugins
- Admin Menu Sections 1.0 - Plugin by Atlassian Software Systems
- Enabled
- Browse Project Operations Sections 1.0 - Plugin by Atlassian Software Systems
- Enabled
- Calendar 1.6 - Plugin by Atlassian Software Systems Pty Ltd
- Enabled
- Custom Field Types & Searchers 1.0 - Plugin by Atlassian Software Systems
- Enabled
- Issue Operations Plugin 1.0 - Plugin by Atlassian Software Systems
- Enabled
- Issue Tab Panels Plugin 1.0 - Plugin by Atlassian Software Systems
- Enabled
- Issue Views Plugin 1.0 - Plugin by Atlassian Software Systems
- Enabled
- JIRA Portlet Examples Plugin 1.0 - Plugin by Atlassian Software Systems Pty Ltd
- Enabled
- Portlets Plugin 1.0 - Plugin by Atlassian Software Systems
- Enabled
- Preset Filters Sections 1.0 - Plugin by Atlassian Software Systems
- Enabled
- Project Panels Plugin 1.0 - Plugin by Atlassian Software Systems
- Enabled
- Project Role Actors Plugin 1.0 - Plugin by Atlassian Software Systems
- Enabled
- RPC JIRA Plugin 3.10 - Plugin by Atlassian Software Systems Pty Ltd
- Enabled
- Renderer Plugin 1.0 - Plugin by Atlassian Software Systems
- Enabled
- Reports Plugin 1.0 - Plugin by Atlassian Software Systems
- Enabled
- TimeTracking Reporting Collection 0.94 - Plugin by Jes A
- Enabled
- Top Navigation Bar Sections 1.0 - Plugin by Atlassian Software Systems
- Enabled
- User Navigation Bar Sections 1.0 - Plugin by Atlassian Software Systems
- Enabled
- View Project Operations Sections 1.0 - Plugin by Atlassian Software Systems
- Enabled
- Web Resources Plugin 1.0 - Plugin by Atlassian Software Systems Pty Ltd
- Enabled
- Webwork Plugin 1.0 - Plugin by Atlassian Software Systems
- Enabled
- Wiki Renderer Macros Plugin 1.0 - Plugin by Atlassian Software Systems
- Enabled
- Workflow Plugin 1.0 - Plugin by Atlassian Software Systems
- Enabled
Aug 28, 2007
Jes A says:
Can't find any clues in the stacktrace. Please be sure that you have no deleted...Can't find any clues in the stacktrace.
Please be sure that you have no deleted users with worklogs - in some cases that can cause the plugin to break.
If the problems continues, please raise an support issue here http://developer.atlassian.com/jira/browse/TMRPT
/Jes
Sep 03, 2007
Ulla Jutila says:
Thanks for the quick answer and hint about deleted users, but this was not the p...Thanks for the quick answer and hint about deleted users, but this was not the problem in my setup. I tested with almost fresh jira standalone installation 3.10.2. There was only one single user in the DB and no deleted users. I managed to debug myself this plugin code, and I found out indeed, that the reason for this bug is in this plugin code.
The reason for the NullPointerException comes from the source file TimeTracking.java. There on line 222, there is a call
this.filterProjectName = searchRequest.getName();
and the searchRequest is null. The reason for searchRequest being null is the previous call on line 219:
searchRequest = getSearchRequestManager().getRequest(getRemoteUser(),
searcRequestId);
The getRequest call returns null. The getRequest call seems to be doing user authentication, which fails because this is only the login page and the user hasn't yet logged in. I wanted to try to fix this myself by changing the call getRequest to getSearchRequest, would this fix the problem? I must say, that I certainly don't have almost any understanding about Jira software architecture, I'm just trying familiarize myself with it. So I don't really understand, how to fix this (without breaking anything). But clearly there is a bug in the code. My setup is really basic, a fresh standalone installation of 3.10.2 with very little configuration. If this plugin creates this problem in my installation, I would guess that would happen for other people as well. The problem code is in the method getIssueListFilter, that's why I don't get the bug using the project as a filter.
I also have another question about the source package. I tried to compile this plugin together with Jira source. The recompile failed, because the source zip doesn't seem to have all the classes. Trying to compile it I got (compiled with maven war:webapp together with the whole jira source):
[javac] D:\jira-source\atlassian-jira-enterprise-3.10.2-source\jira\src\java\com\ja\jira\plugin\timetracking\model\TimeTrackingItemRisk.java:110: cannot find symbol
[javac] symbol : variable RiskPropertyReader
[javac] location: class com.ja.jira.plugin.timetracking.model.TimeTrackingItemRisk
[javac] } else if (rn >= RiskPropertyReader.getInstance()
[javac] ^
[javac] D:\jira-source\atlassian-jira-enterprise-3.10.2-source\jira\src\java\com\ja\jira\plugin\timetracking\model\TimeTrackingItemRisk.java:135: cannot find symbol
[javac] symbol : class RiskCalculatedCustomField
[javac] location: class com.ja.jira.plugin.timetracking.model.TimeTrackingItemRisk
[javac] if (cft instanceof RiskCalculatedCustomField) {
[javac] ^
[javac] 5 errors
There is an import statement in TimeTrackingItemRisk:
import com.ja.jira.plugin.report.riskmanagement.RiskCalculatedCustomField;
but this file is missing in the source package. Could I get a complete source, that could be compiled? Or compilation instructions, in case I'm just doing something wrong (something missing in the classpath).
br,
Ulla
ps. I still think this is a great plugin.
Sep 04, 2007
Ulla Jutila says:
Hi again Jes, I think my problem with this portlet was configuring with i...Hi again Jes,
I think my problem with this portlet was configuring with it reports including user details (the worklog about user's worklog) as an ADMINISTRATOR. I tried this again as a regular user and it worked OK. Of course this means, that administrator can't configure this functionality ready for the users. The developers would like to check, what they have logged in to Jira, which issue and which date. They will need to configure this Time Tracking portlet on the Dashboard themselves. I think that's what we will do.
br,
Ulla
Sep 04, 2007
Jes A says:
Hi Ulla, You do have access to the complete source. You will need to download t...Hi Ulla,
You do have access to the complete source. You will need to download the source for Jira RiskManagement plugin as well. Or if you don't need the RiskManagemant plugin just delete the class TimeTrackingItemRisk and the references for it.
I have never tested the plugin in a Jira installation in public mode (unauthorized users allowed). That will most likely give some problems.
I'm not an expert in the Jira security model, but I figure if you don't use the remoteUser when requesting a searhcrequest (filter), then any user could get access to all the issues the filter contains - no matter what the remoteUser normally will see in the issue navigator.
I guess the plugin should exit in a more user friendly way when the remoteUser is null.
Configuring the plugin as an administrator or any orther user shouldn't cause any problems. You just have to make sure that the users you share the plugin with have access to the filter you are using.
/Jes
Sep 05, 2007
Ulla Jutila says:
Hi again Jes, and big thanks first for all your advice and helping me to use th...Hi again Jes,
and big thanks first for all your advice and helping me to use this plugin. Your help is really appreciated.
Public mode? I have been trying to learn Jira administration without ever before even having used it myself. I wasn't even aware I was running Jira in public mode (just chose installation defaults). Thanks for noting me that too, the actual production Jira used in my organization is not running in public mode. So I better start testing in my standalone setup on my own computer in private mode as well. Unfortunately I got this same error in private mode too. And of course you were correct about the reason being an unshared filter. I didn't even think about that.
And thanks for the hint including the RiskManagement plugin code in my classpath too, that worked. I did a very small change to the TimeTrackingPortlet.java. In the method protected Map getVelocityParams(PortletConfiguration portletConfiguration), instead of returning null after the catch block in the last row, I return an empty collection:
return Collections.emptyMap();
Even though I now know the correct configuration instructions (don't configure Time Tracking reports as an administrator to the default Dashboard using an unshared filter), it's better in production that you can't break Jira with configurations. The above change still causes a NullPointerException in login page, but that is handled. And then the administrator is able to login and share the filter to fix the problem.
br,
Ulla
Aug 29, 2007
Pierre van Wyk says:
The ZIP file for the 0.94 version of the TimeTracker to be used in JIRA version ...The ZIP file for the 0.94 version of the TimeTracker to be used in JIRA version 3.10.x is corrupt.
Aug 30, 2007
Jes A says:
Please see CONF-7620 for a fix. /JesPlease see CONF-7620 for a fix. /Jes
Sep 10, 2007
Ulla Jutila says:
I just want to add a note about this problem with deleted users. I had to test i...I just want to add a note about this problem with deleted users. I had to test it myself. We are considering using this plugin in production and there shouldn't be anything that could cause problems using it there. The problem is caused because the deletion of users in Jira leaves orphan records in the database in the WORKLOG table. So a way to recover from this problem is to delete those orphan records from database. Fortunately in practise, deleting users from Jira is very difficult. The users can't be deleted if there are any issues assigned to them. So in real life there shouldn't be deleted users (or actually orphan records belonging to them) in the database. Of course this could be fixed by adding a cascade in the USERBASE table to the WORKLOG table.
Sep 12, 2007
Jes A says:
Thanks for sharing. /JesThanks for sharing. /Jes
Dec 07, 2007
Kamal Ashour says:
I configured the email service, the email sent out contains the following and th...I configured the email service, the email sent out contains the following and the attachment is empty, any idea on what is wrong. Thanks.
Attached is a TimeTrackingReport.
The report is based on the following parameters:
Project or Filter: RMS
Remote User: $remoteUser
Duration: 1/Nov/07 to 30/Nov/07
Group: jira-developers
Dec 07, 2007
Jes A says:
Hi Kamal, I persume that the text is copy/paste form the mail body!? The $...Hi Kamal,
I persume that the text is copy/paste form the mail body!?
The $remoteUser tag should'nt be there, it should instead be the name of the remoteUser.
This could be because that you haven't specified the username of the remoteUser during the service configuration.
If not, please create an issue here http://developer.atlassian.com/jira/browse/TMRPT and attach the stack trace and describe the use case.
/Jes
Dec 25, 2007
Cristian Caprar says:
Hi, Plugin works fine with Jira 3.12.1. Thanks for it. One question: how...Hi,
Plugin works fine with Jira 3.12.1. Thanks for it.
One question: how can I obtain the TimeTracking Period Accumulated Bar Chart? Something like your Picture 15 from 20 in the slideshow?
Thanks,
Cristian
Dec 26, 2007
Jes A says:
Christian, Have a look at slide 2 in the slideshow. Cheers, JesChristian, Have a look at slide 2 in the slideshow.
Cheers,
Jes
Jan 22, 2008
Michael Wang says:
Hi, We just got JIRA 3.12. I want to create a report to display the sum o...Hi,
We just got JIRA 3.12.
I want to create a report to display the sum of original estimates for all unresolved issues group by their business owner. Can I leverage any of your plug-ins?
Thanks,
Michael
Jan 24, 2008
Jes A says:
Sure, this should be straight forward to implement using this tutorial How to ad...Sure, this should be straight forward to implement using this tutorial How to add a new report or portlet (to the Jira TimeTracking Reporting Collection)
I'm certain that you can do this without modifying plugin source, but feel free to that anyway.
Jan 24, 2008
Michael Wang says:
Hi, Jes, Thanks for your reply. Do you mean I have to create a new customized r...Hi, Jes,
Thanks for your reply. Do you mean I have to create a new customized report for my purpose and add the new report to your Jira TimeTracking Reporting Collection?
I'm new to Jira, could you please give me some more information?
Thanks again,
Michael
Feb 09, 2008
Jes A says:
Hi Michael, I didn't notice this reply. Yes, I think you can use the plugin wit...Hi Michael,
I didn't notice this reply. Yes, I think you can use the plugin without modifying source, just by adding a new velocity file.
But please create a request here http://developer.atlassian.com/jira/browse/TMRPT. Perhaps you can attach a report mock up in excel.
Feb 20, 2008
Tom Miller says:
This implies that this works with 3.12? Does it. Others component de...This implies that this works with 3.12? Does it. Others component developers have been adding a version range or even a grid with check boxes. I am interested in this plugin and the Risk Management plugin.
Thanks!
Feb 26, 2008
Jes A says:
Hi Tom, I don't test my plugins against all available Jira versions. New version...Hi Tom,
I don't test my plugins against all available Jira versions. New versions are coming so fast that I can't keep track of them.If you test the plugin against later versions please let me know of the result.
Cheers Jes
Jan 25, 2008
ian says:
Is it possible to create an AffectedVersion report? Ive copied the FixVersion po...Is it possible to create an AffectedVersion report? Ive copied the FixVersion portlet vm file but not having any luck.
Not being overly familiar with the JIRA API or Velocity files, I assume I need to alter the following line:#set( $item = $itemHolder.getItemFixVersion())
to read something like:#set( $item = $itemHolder.getItemAffectedVersion())
but I'm not having any luck. Can you help?
Feb 05, 2008
Jes A says:
Hi Jan, AffectedVersion is, as far as I recall, not part of the plugin API. So y...Hi Jan, AffectedVersion is, as far as I recall, not part of the plugin API. So you request can only be implemented by modifying source. I will try to remember your request to the next time I upgrade the plugin.
Cheers Jes
Feb 05, 2008
Amit Khullar says:
Hi , I have one more request can we have a filter for Start and End Date on the ...Hi , I have one more request can we have a filter for Start and End Date on the main Time Sheet Reporting page so that in case I want to see task status for some particular period. Actually we have monthly builds and I need to see the task status for every month , another work around could be to add due date column in the output of the report against every task and then we can sort it on date and find the data but the prior one will be more easy and effective. Thoughts Jes ?
Thanks
Amit
Feb 06, 2008
Jes A says:
Hi Amit, Will be glad to help, but I'm not sure that I fully understand your req...Hi Amit,
Will be glad to help, but I'm not sure that I fully understand your request. Could you create a support request here: http://developer.atlassian.com/jira/browse/TMRPT. And then upload a mockup for the report in excel?
Feb 15, 2008
Steve Ilg says:
I would like to have the PeriodHolder.Java getSumTimeSpent extended to include o...I would like to have the PeriodHolder.Java getSumTimeSpent extended to include one based on the Component field.
You already have one by user, group and project.
Creating a period based report by component would be useful for what I want to report on but I think it would be useful for others that use components in thier projects.
Of course if and when you implement this you could create a new VM using the same format as the user period report that would be great.
I generally like portlets rather than reports because you can save your selections for the portlets and you can then display them in Confuence Wiki as well.
I created TMRPT-20 for this request
Feb 15, 2008
Jes A says:
Hi,This request is resolved with version 1.02. Let me know if it works out for y...Hi,This request is resolved with version 1.02. Let me know if it works out for you.
Cheers
Jes
Mar 24, 2008
Steve Ilg says:
Sorry it took so long to reply. This works fine in most cases. As lo...Sorry it took so long to reply. This works fine in most cases. As long as only one component is selected for an issue it works. Users are allowed to select multiple components on an issue. When this is done the hours will be counted twice in the portlet since the outer loop is for each component entry. Not a problem for me though
Mar 02, 2008
Gage Short says:
Is it possible to configure the Original Estimate in any schemes or configuratio...Is it possible to configure the Original Estimate in any schemes or configurations. We would like to make the original estimate part of a transition after opening an issue. Is it possible?
Cheers
Mar 03, 2008
Jes A says:
This question is probably better raised at one of the forums at http://forums.at...This question is probably better raised at one of the forums at http://forums.atlassian.com
Cheers Jes
Mar 05, 2008
John Fisher says:
I'm attempting to generate my first report with this plugin,and not getting very...I'm attempting to generate my first report with this plugin,and not getting very far. Specifically, I'm selecting the User Total report with a specific filter and a specific non-empty group. I get the following results:
java.lang.NullPointerException
at com.ja.jira.plugin.timetracking.model.TimeTracking.isValidWorklog(TimeTracking.java:546)
at com.ja.jira.plugin.timetracking.model.TimeTracking.addWorkLogs(TimeTracking.java:108)
at com.ja.jira.plugin.timetracking.model.TimeTracking.getVelocityParams(TimeTracking.java:449)
at com.ja.jira.plugin.timetracking.model.TimeTracking.getReport(TimeTracking.java:328)
at com.ja.jira.plugin.timetracking.report.TimeTrackingReport.generateReportHtml(TimeTrackingReport.java:48)
at com.atlassian.jira.web.action.browser.ConfigureReport.doExecute(ConfigureReport.java:91)
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:211)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
....
If I leave the group empty, I get:
An error occurred whilst rendering this message. Please contact the administrators, and inform them of this bug. Details: ------- java.lang.NullPointerException at com.ja.jira.plugin.timetracking.model.TimeTrackingItemUser.add(TimeTrackingItemUser.java:17) at com.ja.jira.plugin.timetracking.model.TimeTrackingItem.add(TimeTrackingItem.java:65) at com.ja.jira.plugin.timetracking.model.TimeTrackingItemHolder.getItemUser(TimeTrackingItemHolder.java:175) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:267) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:197) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:175) at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:327) at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:131) at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:114) at ...
I have not deleted any users from our system. Any idea on what I might be doing wrong?
Thanks,
John
Mar 06, 2008
Jes A says:
Hi, Please create an issue here if the problem continues: http://developer.atlas...Hi,
Please create an issue here if the problem continues: http://developer.atlassian.com/jira/browse/TMRPT
Try to create some test issues with worklogs. Make a filter that filters out exactly the newly created worklogs. Then the portlets/reports will probably work.
Cheers Jes
Apr 02, 2008
Gage Short says:
I would like to ask you some questions about the beta billing functionalit...I would like to ask you some questions about the beta billing functionality in the plugin. We would like to move our time tracking to Jira and your portlets almost get us there. We need to fill the gap in the relationship between billing and timetracking and it seems you have started to. My initial question is, is it possible to associate rates to groups or project roles? If it's not, is this something your considering? I'm reaching out to you because this is a big endeavor for us and we don't want to waste time or spin our wheels if you plan on incorporating the billing functionality in a more standard fashion (configurable outside the properties file.)
Apr 03, 2008
Jes A says:
Hi, is it possible to associate rates to groups or project roles? In the beta j...Hi,
In the beta just users, but could easily be extended to groups. Project roles probably also, but have no experience here.
This would off course be nice. But I think not. Would take up to much of my time - If I did it I would have to move the plugin to a commercial license.
But anyway, let me know if you have any improvements ideas.
Apr 17, 2008
ray shen says:
Hi, Regarding to the Usage & Installation. Can you please explain how to&n...Hi,
Regarding to the Usage & Installation.
Can you please explain how to install this plugin with ear/war deployment?
Thanks.
Apr 20, 2008
Jes A says:
Hi, I wouldn't know how to do this. I'll guess it's the same "how to" as any ot...Hi,
I wouldn't know how to do this. I'll guess it's the same "how to" as any other jira pluhin with an EAR/WAR setup.Once installed the plugin on an Oracle IAS 9i.
Here the same procedure as mentioned above worked fine, one just has to locate the lib folder.
Cheers.
Apr 21, 2008
Jason Brown says:
In our implementation, we create a defect or improvement and then we make other ...In our implementation, we create a defect or improvement and then we make other ones and link them to the parent issue (sort of like tasks);
I would like to get a report that rolls this all up for the "parent" issue. That is if I have an improvement A with sub-improvements A1, A2, A3 (that are linked to A)
and then A1 has tasks TA11 TA12, ... TA1N I would like a report that says
Period: Jan 1, 2008 - Jan 15, 2008
User1 User 2 User 3 ... User K Total
A 22.2 1.2 13.8 0.0 123.7
Is this possible in the current implementation? If so, how do I get this?
- Jason
Apr 25, 2008
Jes A says:
Hi, This should be possible by adding a new report/portlet template like describ...Hi,
This should be possible by adding a new report/portlet template like described in the tutorial.
You should be able to do this without modifying source, that is you can do this at the velocity file level.
Get all issues with worklogs and users with worklogs. Something like this:
#set( $itemIssue = $itemHolder.getItemIssue())
#set( $itemUser = $itemHolder.getItemUser())
Then iterate over the all the issues and subissues (issue.getSubTaskObjects()) and make an inner loop which iterates over the users. For each subissue and user retrieve logged time by $itemUser.getTimeSpent(subIssue,user)
I suggest that you have a look at timetrackingportletissue_user.vm
Jun 26, 2008
Grant Furick says:
Is it possible to configure the user detail portlet or another to just show time...Is it possible to configure the user detail portlet or another to just show time on the dashboard associated with the current user? Basically a weekly timesheet.
Jun 27, 2008
Jes A says:
Sure, look at picture 21 and 22. Select an user and a relative duration.Sure, look at picture 21 and 22. Select an user and a relative duration.
Jul 21, 2008
yazhouli says:
Unable to render embedded object: File (first.GIF) not found. Unable to render e...Unable to render embedded object: File (first.GIF) not found. Unable to render embedded object: File (second.gif) not found.
Why my first page no the first select-------Portlet or report format.
Aug 03, 2008
Jes A says:
Please create an support request here: http://developer.atlassian.com/jira/brows...Please create an support request here: http://developer.atlassian.com/jira/browse/TMRPT
Sep 10, 2008
Andy Brook says:
Hi Jes, great set of reports. It would be helpful if the zips and jars had the ...Hi Jes, great set of reports. It would be helpful if the zips and jars had the version appended, when it comes to upgrade, unless I changed the name, its difficult to remember what version was actually deployed.
Sep 14, 2008
Jes A says:
When the plugin is deployed you can always see the current version in the A...When the plugin is deployed you can always see the current version in the Administration sections under plugins.
Oct 01, 2008
Yogesh Dhanavade says:
Hi jes, I was using this great plugin with Jira 3.12 for Time Tracking Period R...Hi jes,
I was using this great plugin with Jira 3.12 for Time Tracking Period Reports, then the ConfigureReport page stoped showing the 'next' button the moment i upgraded my Jira version to 3.13 enterprise, what could be the reason of not showing the 'next' button on the configure page? I can see the reports i configured with previous jira version correctly but can not create new reports using this plugin in Jira 3.13.
Oct 04, 2008
Jes A says:
Hi, this is resolved with version 2.0. Cheers JesHi, this is resolved with version 2.0. Cheers Jes
Oct 22, 2008
Michael Walton says:
Jes A - I recently upgraded from 3.12.3 to 3.13 and noticed that you are now cha...Jes A - I recently upgraded from 3.12.3 to 3.13 and noticed that you are now charging for this plugin. When did that start? Is that only for the 2.0 version of your plugin?
Oct 22, 2008
Jes A says:
Hi Michael, It was changed to a commercial license in the beginning of October a...Hi Michael,
It was changed to a commercial license in the beginning of October at the same time it was upgraded to work with Jira 3.13 (v.2.0). With a strictly formal approach the commercial license counts for all versions of the plugin, but I only expect users to respect this when upgrading to a newer plugin version. I think this is a fair way to do it.
Cheers Jes A
Oct 22, 2008
Michael Walton says:
Just my 2 cents, but it would be nice if you had an Enterprise pricing plan, rat...Just my 2 cents, but it would be nice if you had an Enterprise pricing plan, rather than a single-server (or as well as a single-server), since we license JIRA that way. Now I have to worry about per server costs, which is a hassle in our organization.
That being said...and having been a user for this long...I liked free better.
Oct 22, 2008
Jes A says:
Feel free to contact me at jira dot com dot plugin at gmail dot com and let me k...Feel free to contact me at jira dot com dot plugin at gmail dot com and let me know what you have in mind.
Oct 28, 2008
Christine A says:
Hi Jes, A stupid question maybe: how can I do to try the plugin for a free peri...Hi Jes,
A stupid question maybe: how can I do to try the plugin for a free period of one month? Where do I find the source?
And an additional one: when does the timer starts? When I download?, or when I install? (cause in my organisation, there could be a big delay between these two events).
Thanks
Regards
Christine.
Oct 28, 2008
Jes A says:
Hi, You can donwload the plugin from this page, look at the chapter "Version Hi...Hi,
You can donwload the plugin from this page, look at the chapter "Version History".
The trial will start from when you actually start using the plugin. Cheers Jes
Nov 11, 2008
Paul Csapo says:
Hi Jes, For actual dev times and estimates, I can understand that we need to act...Hi Jes,
For actual dev times and estimates, I can understand that we need to actually have worklogs and estimates specified in the issues, but what about "time with users/groups"?
Maybe I missed it, but could you please confirm if this set of plugins can still work out the elapsed time issues have been with certain users?
Eg could we pick an issue, and break it down into elapsed time with which users for instance?
and for a range of issues (as defined by a filter), can we look at time with which users overall?
There is a feature for "average time in status", but is there something that we can use to show us information, such as "these issues spent x elapsed time with developers, Y elapsed time with uat groups, and z time in analysis" etc?
regards,
Paul
Nov 11, 2008
Jes A says:
Hi Paul, I'm not sure that I understand the questions, but I can say that this ...Hi Paul,
I'm not sure that I understand the questions, but I can say that this plugin will only show the actually logged time (woklogs). And not the elapsed time an issue have been in a given status for a given user. I hope this answer you question - else please raise a question here: http://developer.atlassian.com/jira/browse/TMRPT
Nov 12, 2008
Paul Csapo says:
Ok thanks Jes.Ok thanks Jes.
Nov 26, 2008
fabrice.porcher says:
How much cost Renewal of maintenance (12 months) ?How much cost Renewal of maintenance (12 months) ?
Nov 26, 2008
Jes A says:
Hi, 198$. cheers JesHi, 198$. cheers Jes
Dec 17, 2008
David Hoshaw says:
Your plugin works with my test 3.13 instance, but on my 3.12.3 version the "Filt...Your plugin works with my test 3.13 instance, but on my 3.12.3 version the "Filter or Project" field does not appear.
Dec 17, 2008
Jes A says:
Hi, this is a known bug. Please follow instructions here: TMRPT-33 Also remembe...Hi, this is a known bug. Please follow instructions here: TMRPT-33
Also remember to use version 1.04 for 3.12.x.
Cheers Jes
Dec 30, 2008
Daniel Pohl says:
Jes: I created issue TMRPT-40 because the "Last Week" and "This week" relative t...Jes: I created issue TMRPT-40 because the "Last Week" and "This week" relative time durations are not working in version 2.00.
Mar 03, 2009
Rich Gay says:
Jes, do you have an update coming soon for the known issues?Jes, do you have an update coming soon for the known issues?
Mar 03, 2009
Jes A says:
Hi Rich, Yes, I have an update that will soon be ready for release. It's a majo...Hi Rich,
Yes, I have an update that will soon be ready for release. It's a major update that will add billing capabilities as well and also some new portlets/reports..
Likewise it will be shipped with an administration module so you can configure the plugin from within jira (oppose to editing the property file).
Do you have any particular issue in mind?
Cheers,
Jes
Mar 31, 2009
Michael Walton says:
Does v1.03 or v1.04 of this plugin work with v.3.13.2 of JIRA? I am planning to...Does v1.03 or v1.04 of this plugin work with v.3.13.2 of JIRA? I am planning to purchase the upgrade, but currently have the older, free version. We are upgrading JIRA shortly and just wanted to know whether it would work. Anybody know?
Mar 31, 2009
Jes A says:
Hi Michael, You should use version 2.00. It resolves some known bugs from 1.03 a...Hi Michael,
You should use version 2.00. It resolves some known bugs from 1.03 and 1.04.
Cheers,
Jes
Apr 08, 2009
ACS JIRA says:
Hi There, It's written you can try plugin for free for a month, but i could not...Hi There,
It's written you can try plugin for free for a month, but i could not find any link for downloading. Could you send me the link or the plugin.
Thanks,
Pranjal Shukla
Apr 08, 2009
Jes A says:
Hi, You can download directly from this page, look under "Version history". Chee...Hi, You can download directly from this page, look under "Version history".
Cheers,
Jes
Apr 27, 2009
Jarkko Tamola says:
Great plugin but I have a questions: How can I modify the properties in the Tim...Great plugin but I have a questions:
How can I modify the properties in the TimeTracking Report to only have some specified user in the drop down list?
Below the dropdown list for the User there is a comment:
(Optional) Pick a user. Only worklogs created by this user will be listed. (The administrators can define which users that will appear in the select list.)
How can I as an administrator modify the timetracking.properties file to display only some users in this list?
There is a setting in timetracking.properties:
#Only gorups which the remoteuser is member of will be listed if true. Comment out or set to false, to disable
timetracking.configure.group.filter.useringroup:true
and that seems to work ok for the groups but I can find any settings for the users!
The problem is that we have a lot of users and the person running the report can view all the users in our Jira.
/Jarkko
Apr 27, 2009
Jes A says:
In the hopefully soon to be released version you can do this directly from Jira....In the hopefully soon to be released version you can do this directly from Jira. Meanwhile you will have to edit the properties file (WEB-INF/com/ja/jira/plugin/timetracking/properties/timetracking.properties)..
You can narrow down the groups by setting some different properties. Either by specifying groups prefix, subfix or by using regular expressions. Look at around line 27-34.
Only users that are member of the visible groups will be listed in the user picker.
Hopes this clarify it?
Jes
Apr 28, 2009
Jarkko Tamola says:
I've checked the users and for some reason it displays all the users. I can only...I've checked the users and for some reason it displays all the users. I can only see 1 group that the user belongs to and in that group there are only 1 user but still all the users are displayed.
Any suggestions?
As I wrote above the only group that the user belongs to is displayed but all the users in our Jira installation are displayed.
I've changed the settings in timetracking.properties to timetracking.configure.group.filter.useringroup:true and that should be enough?
Apr 28, 2009
Jarkko Tamola says:
I've checked the users and for some reason it displays all the users. I can only...I've checked the users and for some reason it displays all the users. I can only see 1 group that the user belongs to and in that group there are only 1 user but still all the users are displayed.
Any suggestions?
As I wrote above the only group that the user belongs to is displayed but all the users in our Jira installation are displayed.
I've changed the settings in timetracking.properties to timetracking.configure.group.filter.useringroup:true and that should be enough?
Apr 29, 2009
Jes A says:
Lets track this issue here: http://developer.atlassian.com/jira/browse/TMRPT-48Lets track this issue here: http://developer.atlassian.com/jira/browse/TMRPT-48
Apr 30, 2009
Christine A says:
Hi Jes, I'm trying this promising plug-in with jira 3.11 (yes, sorry). I've pic...Hi Jes,
I'm trying this promising plug-in with jira 3.11 (yes, sorry). I've picked the version 2.00.
But it does not work. The portets are not saved when configured. Clicking on the save button keeps me on the form page. And the reports provokes an exception (see below)
What is wrong? Shall I pick another version? Which one would you recommand for me?
Thank you in advance, and look forward to using this great pluging in production,
Christine.
root cause
java.lang.NullPointerException
com.ja.jira.plugin.timetracking.model.TimeTracking.setFilterProject(TimeTracking.java:597)
com.ja.jira.plugin.timetracking.report.TimeTrackingReport.validate(TimeTrackingReport.java:80)
com.ja.jira.plugin.timetracking.report.TimeTrackingReportPeriod.validate(TimeTrackingReportPeriod.java:24)
com.atlassian.jira.web.action.browser.ConfigureReport.doValidation(ConfigureReport.java:86)
webwork.action.ActionSupport.validate(ActionSupport.java:373)
webwork.action.ActionSupport.execute(ActionSupport.java:150)
com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:54)
webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:132)
com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:209)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:73)
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
com.atlassian.jira.web.filters.SitemeshExcludePathFilter.doFilter(SitemeshExcludePathFilter.java:38)
com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
com.atlassian.jira.web.filters.JIRAProfilingFilter.doFilter(JIRAProfilingFilter.java:16)
com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:43)
com.atlassian.jira.web.filters.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:50)
com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72)
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:350)
com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:89)
com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
com.atlassian.jira.appconsistency.db.DatabaseCompatibilityEnforcerFilter.doFilter(DatabaseCompatibilityEnforcerFilter.java:39)
Apr 30, 2009
Jes A says:
Hi Christine, You should use version 1.03. The Jira API changed in version 3.12....Hi Christine,
You should use version 1.03.
The Jira API changed in version 3.12.x, so thats why you can't use plugin version 2.00 with Jira version 3.11.
Jes
Apr 30, 2009
Christine A says:
Much better, indeed. Thanks. New question: how does the swith happen from free o...Much better, indeed. Thanks.
New question: how does the swith happen from free one-month trial license, and definitive paid license? are the sources different? is there an additional file to deploy? or a code to input somewhere? In other word, is it worth that I already start requesting to my IT department to install the trial plug-in on the production environnment (2-weeks process !!!)? or will I have to request an additional/new install once I will have bought the definitive licence?
Thank you
Apr 30, 2009
Jes A says:
I will drop you a mail...I will drop you a mail...
Jul 21, 2009
Michael Croft says:
We are using Jira 3.12 and have 1.0.4 We can't figure out where the $100/hour r...We are using Jira 3.12 and have 1.0.4 We can't figure out where the $100/hour rate is set for developers for the User Cost report. Where should we be looking?
Thanks,
M Croft
Jul 21, 2009
Jes A says:
Hi, In version 1.04 this have to be done by editing the .properties file. You ca...Hi,
In version 1.04 this have to be done by editing the .properties file. You can find some documentation in the .properties file. In version 1.04 the billing / cost reports was only at a beta level.
I recommend upgrading to version 3.00 where setup is done from a configuration module accessed from Jira.
Cheers,
Jes
Jul 21, 2009
Michael Croft says:
It's on our list of things to do, after updating to 3.13. I'm not really very k...It's on our list of things to do, after updating to 3.13.
I'm not really very knowledgeable with plugins yet. Do we need to edit the .properties file inside the jar file or do we put a copy someplace and work on it there?
We're not really using costing, and we'd be happy enough to delete it.
Aug 19
sunny soung says:
Hi, I met a problem after I upgrade Jira from 3.13.1 to 3.13.5. As required, I...Hi,
I met a problem after I upgrade Jira from 3.13.1 to 3.13.5.
As required, I updated this plugin from version 2.00 to 3.01. Then I found the name of the jar file changed. So did the class name. So I got errors when I open any Dashboard with old TimeTrackingPortletPeriod defined.
WARNING: com.ja.jira.plugin.timetracking:TimeTrackingPortletPeriod
Portlets of this type have been disabled or removed from the system.
It was com.ja.jira.plugin.timetracking:TimeTrackingPortletPerild before. But now it becomes com.ja.jira.plugin.ttb:ttbPortletPeriod.
I've used TimeTrackingPortletPerild at some places. So I got the error every here and there. Is there any solution to fix this issue?
Appreciate for any help,
Sunny
Aug 19
Jes A says:
Hi, You got a point in that the documentation is not clear on this. Jira will c...Hi,
You got a point in that the documentation is not clear on this.
Jira will consider version 3.00 and above as a complete new plugin because the unique plugin key has been changed.
However, you do not have to delete the old jar (jira-plugin-timetrackingreporting.jar) since version 2.x and version 3.x can live side by side.
Dec 15
Daniel Ray says:
I am having an issue adding a new template. The documentation is not very clear ...I am having an issue adding a new template. The documentation is not very clear on how to do this. I have it saved as a .vm file in the webinf\classes folder as it states should work. How do you then point the filter to it? I have tried using the full path with either / or \ and neither worked. I have also cut it down to just WEB-INF\classes\filename.vm with no success.
Dec 16
Jes A says:
Hi Daniel, You should use a relative path. If you have placed the .vm file (fi...Hi Daniel,
You should use a relative path.
If you have placed the .vm file (file_name.vm) template in folder c:\...\WEB-INF\classes\com\jplugs\ttb\templates
you would use the relative path com/jplugs/ttb/templates/file_name.vm
Dec 16
Daniel Ray says:
That fixed it thank you. The documentation needs to state that.That fixed it thank you. The documentation needs to state that.