| Name | JIRA Enhancer Plugin |
|---|---|
| Version | 1.4.0 |
| Product Versions | 3.6 - 3.12 |
| Author(s) | Tuncay Senturk |
| Homepage | |
| Price | FREE |
| IssueTracking | http://developer.atlassian.com/jira/browse/JEP |
| Download JAR | Get jar file according to your JIRA version below |
Index
Description/Features
This plug-in adds custom fields of "Last closed date/user", "Last resolved date/user", "Reopening count of an issue", searching capabilities according to these custom fields, and a report of "User/Group action tracking report"
A plugin that allows user
- add custom fields of
- Last Closure Date : Shows issue' s last closing date|
- Last Closure User : Shows the user that closed the issue|
- Last Resolution Date : Shows issue' s last resolution date|
- Last Resolution User : Shows the user that resolved the issue|
- Reopening Counter : Shows the reopening count and history of the issue|
- show tab of reopenings history
- search issues by above custom fields
- display a histogram of issues that user/group modified over a specified period
Installation and Usage
- Put plug-in's newest jar file to your WEB-INF/lib folder.

Get jar file according to your JIRA version below. - Restart JIRA
- See that you have plug-in installed in Administration -> Plugins page
- Add custom fields that you want in your JIRA by using Administration -> Custom Fields -> Add Custom Field## Last Closed Date
- Last Closed User
- Last Resolution Date
- Last Resolution User
- Reopening Counter
All custom fields may be seen as follows :
To see custom fields as a view in issue, add field to screen from Administration -> Screens menu item and Configure as below. I only added "Reopnening History" to be seen in issue' s page.
If you want, you may add other custom fields to your screen.
After these steps you may need to re-index by Administration -> Indexing -> re-Index
- Last Closed User
Examples
Navigation bar with custom fields
If you add custom fields to navigation bar, you may see JIRA navigator as below
Filter search panel
And also you may see filters at left such as below
Reopenings tab
In an issue view, you may find reopenings history as below
User/Group Tracking Report
- Click Report link in project's page and the criterias page will be seen as below
- Fill the criterias and press 'Next' button results will be seen as below. You can freely change descriptions by editing userhistory_report.properties file and regenerating jar file. Or you can edit user-history-report.vm file to change layout of the html page.
Version History
- Version 1.4.0
- Version 1.3.1
- Custom fields are now displayed in issue' s detail page (JEP-5)
- Last Resolution custom fields are not only working with custom JIRA workflow, but also with custom work-flows (JEP-4, JEP-9)
- Displaying the 'Reopening History' field on the view issue screen even when no reopening history exists problem resolved (JEP-8)
- Version 1.3.0
- "Reopening counter" custom field has been added.
- Search ability to "Reopening counter" custom field has been added.
- User or Group Tracking Report' s HTML layout has been changed.
- Version 1.2.4 (mkk-jira-plugin-1.2.4.jar)
- Excel support for "User or Group Tracking Report" has been added
- Excel support for "User or Group Tracking Report" has been added
- Version 1.2.3 (mkk-jira-plugin-1.2.3.jar)
- User or Group Tracking Report has been re-factored to work with new api
- User or Group Tracking Report has been re-factored to work with new api
- Version 1.2.2.2 (mkk-jira-plugin-1.2.2.2.jar)
- Excel support for "User or Group Tracking Report" has been added
- Excel support for "User or Group Tracking Report" has been added
- Version 1.2.2 (mkk-jira-plugin-1.2.2.jar)
- Fixed label problem with 'statistics portlet' in issue JRA-13075
- Fixed label problem with 'statistics portlet' in issue JRA-13075
- Version 1.2.1 (mkk-jira-plugin-1.2.1.jar)
- Fixed NullPointerException on date formatting
- Fixed NullPointerException on date formatting
- Version 1.2 (mkk-jira-plugin-1.2.jar)
- Works with JIRA 3.7 and 3.8
- Re-factored to compile with new api
- Some bugs have been fixed
- Version 1.1 (mkk-jira-plugin-1.1.jar)
- Last Resolution / Closure Group property has been added.
- User / Group Tracking Report has been added.
- Some bugs have been fixed.
Open Issues
|
|
||||
|---|---|---|---|---|
| T | Key | Summary | Reporter | Status |
|
|
JEP-10 | Start / End date required issue | Mark Thomas |
|
|
|
JEP-12 | add reason on Reopening history of an issue | gracee |
|
|
|
JEP-15 | Slowdown when fields are added to Issue Navigator | Josh LeBow |
|

Comments (59)
Jan 01, 2007
Collin Moore says:
would it be possible to upgrade this to work with 3.7?would it be possible to upgrade this to work with 3.7?
Jan 08, 2007
Tuncay Senturk says:
Sure. just edit atlassian-plugin.xml jar file and change <application-versio...Sure. just edit atlassian-plugin.xml jar file and change
<application-version min="3.4" max="3.6"/>
element with
<application-version min="3.4" max="3.7"/>
Then restart JIRA.
Jan 08, 2007
Collin Moore says:
tried that and I get this error *Error:*There was a problem loading the descrip...tried that and I get this error
*Error:*There was a problem loading the descriptor for module 'customfield-type' in plugin 'MKK JIRA Plugin (Resolution & Closure Dates / Users)'. Error retrieving dependency of class: tr.com.mkk.plugin.jira.LastClosedDateCFType. Missing class: com/atlassian/jira/issue/ActionManager
Jan 09, 2007
Tuncay Senturk says:
Hi Collin, Sorry about that. I just recognized that Jira 3.7 API has some chang...Hi Collin,
Sorry about that. I just recognized that Jira 3.7 API has some changes such as ActionManager interface. I used this interface in 3.6.5 api. i am gonna fix it if i have time to understand new design api.
Mar 01, 2007
Matthew Janulewicz says:
Any chance this update is forthcoming? (sorry to nag.) This plugin is rather use...Any chance this update is forthcoming? (sorry to nag.) This plugin is rather useful but we can't use it with 3.7.1.
-mattyj
Mar 01, 2007
Dave Borgeest says:
second that, as it blocks the reporting pluginsecond that, as it blocks the reporting plugin
Mar 27, 2007
Tuncay Senturk says:
Hi, Sorry that i could not deal with bugs, but at last i upgraded plugin to wor...Hi,
Sorry that i could not deal with bugs, but at last i upgraded plugin to work with JIRA 3.7 and above.
thx
Mar 01, 2007
Igor Skubailo says:
We are developing some rpc-jira-plugin for our instance of jira. After installat...We are developing some rpc-jira-plugin for our instance of jira.
After installation of mkk-jira-plugin-1.0.jar our plugin crash.
I'm researching this problem!
During call of method
RemoteIssue issue = issueService.getIssueById(user, issue);
we've got an exception:
(java.lang.RuntimeException) java.lang.RuntimeException: class tr.com.mkk.plugin.jira.LastResolvedDateCFType passed an invalid value of type: class java.sql.Timestamp
Looks like the problem is in LastResolvedDateCFType class. There is the following method:
public String getStringFromSingularObject(Object value) {
assertObjectImplementsType(User.class, value);
return userConverter.getString((User) value);
}
but real type of passed parameter value is java.sql.Timestamp and NOT com.opensymphony.user.User
So "assertObjectImplementsType(User.class, value)" throws an RuntimeException.
As for me method "getStringFromSingularObject" should convert Timestamp to String
and "getSingularObjectFromString" vice versa: String to Timestamp.
The same problem with LastClosedDateCFType class.
After I change that our plugin brings to life. And yours plugin also work good as before.
Is it a bug or I don't understund something?
Mar 21, 2007
Daniel Rosły says:
It is a bug. Please notice that class "LastClosedDateCFType" is almost exact co...It is a bug.
Please notice that class "LastClosedDateCFType" is almost exact copy of class "LastClosedUserCFType" and author probably has forgotten to change some methods.
General question to author:
Can I submitt here a new version of this plugin with this error fixed and refactored to work with newest JIRA (3.8) ????
Mar 28, 2007
Tuncay Senturk says:
Sure, its a copy-paste bug I fixed it in 1.2 version, thxSure, its a copy-paste bug
I fixed it in 1.2 version,
thx
May 04, 2007
Thomas Crowder says:
Great plugin, has helped a lot! However, it only works with some of our issu...Great plugin, has helped a lot! However, it only works with some of our issue types, as we have some custom workflows.
These workflows don't have a 'Resolved' status so the field doesn't work in this case (However, we still set the issue resolution, which effectively makes the issue 'Resolved'). I would suggest that a better way to determine when the issue is 'Resolved' is when the Resolution is set to something other than 'UNRESOLVED', rather than relying on the workflow status.
I'm using Jira 3.6.3 with v1.1 of this plugin, though from the source it looks as if the same would be true in v1.2.
Just my 2 pence, and to save anyone in a similar situation the confusion I went through!
May 17, 2007
Anna Berns says:
We've installed the plugin and created the custom fields, can see them in search...We've installed the plugin and created the custom fields, can see them in search/filter and navigator columns, but are getting the following errors when we try to create new items. Any ideas on how to fix this? (We're running the plugin vsn 1.2 and Jira vsn 3.7.4 on this instance -- do you know if the issue might be fixed with Jira 3.8?) In case it's useful, we're running Java Version 1.5.0_11.
Step 2 of 2: Enter the details of the issue...
Errors
java.lang.NullPointerException at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1076) at java.text.DateFormat.parse(DateFormat.java:333) at tr.com.mkk.plugin.jira.LastResolvedDateCFType.getSingularObjectFromString(LastResolvedDateCFType.java:50) at com.atlassian.jira.issue.customfields.impl.CalculatedCFType.getValueFromCustomFieldParams(CalculatedCFType.java:62) at com.atlassian.jira.issue.fields.CustomFieldImpl.updateIssue(CustomFieldImpl.java:844) at com.atlassian.jira.web.action.issue.IssueCreationHelperBeanImpl.updateIssueFromFieldValuesHolder(IssueCreationHelperBeanImpl.java:154) at com.atlassian.jira.web.action.issue.CreateIssueDetails.doExecute(CreateIssueDetails.java:108) at webwork.action.ActionSupport.execute(ActionSupport.java:153) at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:54) at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:132) at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java: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)
If we remove the Resolved Date field, we get the same error on Closed Date:
java.lang.NullPointerException at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1076) at java.text.DateFormat.parse(DateFormat.java:333) at tr.com.mkk.plugin.jira.LastClosedDateCFType.getSingularObjectFromString(LastClosedDateCFType.java:48) at com.atlassian.jira.issue.customfields.impl.CalculatedCFType.getValueFromCustomFieldParams(CalculatedCFType.java:62) at com.atlassian.jira.issue.fields.CustomFieldImpl.updateIssue(CustomFieldImpl.java:844) at com.atlassian.jira.web.action.issue.IssueCreationHelperBeanImpl.updateIssueFromFieldValuesHolder(IssueCreationHelperBeanImpl.java:154) at com.atlassian.jira.web.action.issue.CreateIssueDetails.doExecute(CreateIssueDetails.java:108) at webwork.action.ActionSupport.execute(ActionSupport.java:153) at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:54) at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:132) at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java: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 21, 2007
Tuncay Senturk says:
You can get this exception if the "Date" field is null. Date field must not be n...You can get this exception if the "Date" field is null. Date field must not be null for jira actions.
Jun 12, 2007
Peter van den Berkmortel says:
In JIRA Enterprise 3.9.1 we get this same error when creating new issues for som...In JIRA Enterprise 3.9.1 we get this same error when creating new issues for some projects - notably projects that do not use Project Roles.
Removing the field of type LastClosedDateCFType solves this problem! So there is definitely something wrong with this field!
Jun 04, 2007
Anna Berns says:
Thanks Tuncay -- we're still confused as to which date you are referring...Thanks Tuncay -- we're still confused as to which date you are referring to -- when we initially create a new item in Jira, the resolve and close dates will (by definition) be null. Is there another date that we need to make sure is not null? For issues we created before configuring the new custom fields, I can see the resolve/close dates just fine.
Jun 07, 2007
Tuncay Senturk says:
In JIRA all actions are stored in tables called "changegroup" and "changeitem". ...In JIRA all actions are stored in tables called "changegroup" and "changeitem".
This plugin is searching those changes by the tables mentioned above.
Every resolved or closed issue has records in these tables.
In changegroup table there is a CREATION date field. This field is filled by JIRA and must not be null.
Can you check this field? The error may be related with this null field.
In code (if you looked at source files, you may see) at LastResolvedDateCFType class
in getSingularObjectFromString method (where you get NullPointerException) there is a line as below
here, i assume that your string parameter may be null and in DateFormat you get NullPointerException.
I sent a new plugin version to you which checks for nulls before parsing it to a Timestamp in this method as below.
i am not sure, but i hope it would work.
cheers
Jun 28, 2007
Collin Moore says:
trying to run the MKK User History Report and I get the following errors A val...trying to run the MKK User History Report and I get the following errors
any ideas?
Jun 29, 2007
Tuncay Senturk says:
Obviosly you must get this error if you do not enter a Start Date field to repor...Obviosly you must get this error if you do not enter a Start Date field to report.
There is only a control of null values to generate this error.
Jul 12, 2007
Collin Moore says:
I use the calender to set a start and end date and get errors for both.I use the calender to set a start and end date and get errors for both.
Jul 06, 2007
Will Rau says:
First, let me say this is a very handy plugin. It would be awesome if there was...First, let me say this is a very handy plugin.
It would be awesome if there was a version of this that actually saved values to the issue record for last resolved/closed date/user. This would allow folks to create their own reports, include these fields on dashboards in pie charts, etc.
I think you'd have to implement a service to do it, but that would give one the most flexibility when it came to using the fields.
Just a thought. . .
Jul 11, 2007
Ray Maxwell says:
I am getting the same errors in the plugin that are listed above i.e Erro...I am getting the same errors in the plugin that are listed above i.e
Errors
* java.lang.NullPointerException at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1076)
at java.text.DateFormat.parse(DateFormat.java:333)
at tr.com.mkk.plugin.jira.LastResolvedDateCFType.getSingularObjectFromString(LastResolvedDateCFType.java:50)
at com.atlassian.jira.issue.customfields.impl.CalculatedCFType.getValueFromCustomFieldParams(CalculatedCFType.java:62)
at com.atlassian.jira.issue.fields.CustomFieldImpl.updateIssue(CustomFieldImpl.java:844)
at com.atlassian.jira.web.action.issue.IssueCreationHelperBeanImpl.updateIssueFromFieldValuesHolder(IssueCreationHelperBeanImpl.java:154)
at com.atlassian.jira.web.action.issue.CreateIssueDetails.doExecute(CreateIssueDetails.java:108)
at webwork.action.ActionSupport.execute(ActionSupport.java:153)
at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:54)
at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:132)
at com.atlassian.jira.web.dispatcher.JiraServletDispatcher.service(JiraServletDispatcher.java:209)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106)
at com.atlassian.jira.web.filters.AccessLogFilter.doFilter(AccessLogFilter.java:51)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
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 com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:181)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:132)
at com.atlassian.jira.web.filters.JIRAProfilingFilter.doFilter(JIRAProfilingFilter.java:16)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.jira.web.filters.ActionCleanupDelayFilter.doFilter(ActionCleanupDelayFilter.java:41)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.jira.web.filters.RequestCleanupFilter.doFilter(RequestCleanupFilter.java:49)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:91)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.jira.web.filters.gzip.GzipFilter.doFilter(GzipFilter.java:72)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.atlassian.jira.appconsistency.db.DatabaseCompatibilityEnforcerFilter.doFilter(DatabaseCompatibilityEnforcerFilter.java:39)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:70)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:419)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:389)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:507)
at com.caucho.util.ThreadPool.run(ThreadPool.java:433)
at java.lang.Thread.run(Thread.java:595)
You mentioned above that there was a new jar file that might fix this issue could you post it here or get it to me.
Thanks.
Jul 11, 2007
Anna Berns says:
FYI, the new jar did fix the issues we were seeing (above) -- thanks!...FYI, the new jar did fix the issues we were seeing (above) -- thanks!