Redmine 3.3.0 Issue Link / Create

Setul Dhanani, modified 4 Years ago.

Redmine 3.3.0 Issue Link / Create

Youngling Posts: 4 Join Date: 4/30/19 Recent Posts
Hi,
Getting Null pointer exception on Link issue or Create issue
ERROR, de.verit.klaros.web.beans.pages.evaluate.issues.EvaluateLinkIssueBean
de.verit.klaros.exception.KlarosServiceException: java.lang.NullPointerException


Redmine 3.3.0
Klaros :4.10.0 Build 1903
redmine_mylyn_connector        2.8.2.stable (https://github.com/yukoff/redmine_mylyn_connector)

Able to connect to redmine and upon click of the integartion it opens a the redmine home page on a new web page.

On the redmine system has the issue 1080 create and we can update / edit.

However on click of the following we get the null pointer exception in the catalina.out and rge klaros test system web page
Project: xyz
Click Evaluate -> Issues -> Select ID (Issues By Test Case) ->  Issues Tab -> Click Link -> System: (The authenticated Link) ID: (Entered Valid issue id in redmine ) -> click search icon

Error on the web page in the Klaros test System :
Issue 1080 has not been found in the issue management system IM00001 - Redmine, Test Project

Below is the error in the catalina.out file
2019-04-30 09:44:54: ERROR, de.verit.klaros.web.beans.pages.evaluate.issues.EvaluateLinkIssueBean
de.verit.klaros.exception.KlarosServiceException: java.lang.NullPointerException
        at de.verit.klaros.service.issuemanagement.mylyn.redmine.RedmineIssueManagementService.getIssue(RedmineIssueManagementService.java:107)
        at de.verit.klaros.service.issuemanagement.connection.IssueManagementConnectionImpl.getIssueWithoutRetry(IssueManagementConnectionImpl.java:119)
        at de.verit.klaros.service.issuemanagement.connection.IssueManagementConnectionImpl.getIssue(IssueManagementConnectionImpl.java:131)
        at de.verit.klaros.web.beans.pages.evaluate.issues.EvaluateLinkIssueBean.testIssueId(EvaluateLinkIssueBean.java:306)
        at sun.reflect.GeneratedMethodAccessor2649.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
        at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
        at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:79)
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at de.verit.klaros.web.beans.interceptor.ConfigurableSynchronizationInterceptor.aroundInvoke(ConfigurableSynchronizationInterceptor.java:45)
        at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
        at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
        at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:196)
        at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:114)
        at de.verit.klaros.web.beans.pages.evaluate.issues.EvaluateLinkIssueBean_$$_javassist_seam_75.testIssueId(EvaluateLinkIssueBean_$$_javassist_seam_75.java)
        at sun.reflect.GeneratedMethodAccessor2648.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at de.odysseus.el.tree.impl.ast.AstProperty.invoke(AstProperty.java:205)
        at de.odysseus.el.tree.impl.ast.AstEval.invoke(AstEval.java:71)
        at de.odysseus.el.TreeMethodExpression.invoke(TreeMethodExpression.java:132)
        at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:101)
        at net.bull.javamelody.JsfActionListener.processAction(JsfActionListener.java:67)
        at javax.faces.component.UICommand.broadcast(UICommand.java:315)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:786)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1251)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at de.verit.klaros.web.ui.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:603)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.omnifaces.filter.CacheControlFilter.doFilter(CacheControlFilter.java:237)
        at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.jasig.cas.client.util.AssertionThreadLocalFilter.doFilter(AssertionThreadLocalFilter.java:50)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:71)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at de.verit.klaros.web.service.authentication.cas.CasSpringConfiguration$DummyFilter.doFilter(CasSpringConfiguration.java:171)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at de.verit.klaros.web.service.authentication.cas.CasSpringConfiguration$DummyFilter.doFilter(CasSpringConfiguration.java:171)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at de.verit.klaros.web.service.authentication.cas.CasSpringConfiguration$DummyFilter.doFilter(CasSpringConfiguration.java:171)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
        at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
        at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
        at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
        at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
        at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
        at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
        at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
        at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
        at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at de.verit.klaros.web.filter.UserAgentFilter.doFilter(UserAgentFilter.java:48)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
        at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: null
        at net.sf.redmine_mylyn.core.RedmineUtil.getTaskAttributeType(RedmineUtil.java:79)
        at net.sf.redmine_mylyn.core.KlarosRedmineTaskDataHandler.createAttribute(KlarosRedmineTaskDataHandler.java:373)
        at net.sf.redmine_mylyn.core.KlarosRedmineTaskDataHandler.createCustomAttributes(KlarosRedmineTaskDataHandler.java:354)
        at net.sf.redmine_mylyn.core.KlarosRedmineTaskDataHandler.createAttributes(KlarosRedmineTaskDataHandler.java:230)
        at net.sf.redmine_mylyn.core.KlarosRedmineTaskDataHandler.createTaskDataFromIssue(KlarosRedmineTaskDataHandler.java:215)
        at net.sf.redmine_mylyn.core.KlarosRedmineRepositoryConnector.getTaskData(KlarosRedmineRepositoryConnector.java:153)
        at de.verit.klaros.service.issuemanagement.mylyn.redmine.RedmineIssueManagementService.getIssue(RedmineIssueManagementService.java:101)
        ... 105 common frames omitted

Redmine access log :
10.0.156.96 - - [30/Apr/2019:10:44:45 +0100] "GET /mylyn/issuestatus HTTP/1.1" 200 1314
10.0.156.96 - - [30/Apr/2019:10:44:45 +0100] "GET /mylyn/customfields HTTP/1.1" 200 2358
10.0.156.96 - - [30/Apr/2019:10:44:45 +0100] "GET /mylyn/projects HTTP/1.1" 200 108093
10.0.156.96 - - [30/Apr/2019:10:44:49 +0100] "GET /mylyn/users HTTP/1.1" 200 7694
10.0.156.96 - - [30/Apr/2019:10:44:49 +0100] "GET /mylyn/issuecategories HTTP/1.1" 200 1246
10.0.156.96 - - [30/Apr/2019:10:44:49 +0100] "GET /mylyn/queries HTTP/1.1" 200 819
10.0.156.96 - - [30/Apr/2019:10:44:49 +0100] "GET /mylyn/versions HTTP/1.1" 200 11607
10.0.156.96 - - [30/Apr/2019:10:44:49 +0100] "GET /mylyn/trackers HTTP/1.1" 200 1369
10.0.156.96 - - [30/Apr/2019:10:44:49 +0100] "GET /mylyn/issuepriorities HTTP/1.1" 200 841
10.0.156.96 - - [30/Apr/2019:10:44:49 +0100] "GET /mylyn/settings HTTP/1.1" 200 267
10.0.156.96 - - [30/Apr/2019:10:44:49 +0100] "GET /mylyn/issue/1080 HTTP/1.1" 200 5889
10.0.156.96 - - [30/Apr/2019:10:44:49 +0100] "GET /mylyn/issuestatus HTTP/1.1" 200 1314
10.0.156.96 - - [30/Apr/2019:10:44:49 +0100] "GET /mylyn/customfields HTTP/1.1" 200 2358
10.0.156.96 - - [30/Apr/2019:10:44:49 +0100] "GET /mylyn/projects HTTP/1.1" 200 108093
10.0.156.96 - - [30/Apr/2019:10:44:53 +0100] "GET /mylyn/users HTTP/1.1" 200 7694
10.0.156.96 - - [30/Apr/2019:10:44:53 +0100] "GET /mylyn/issuecategories HTTP/1.1" 200 1246
10.0.156.96 - - [30/Apr/2019:10:44:53 +0100] "GET /mylyn/queries HTTP/1.1" 200 819
10.0.156.96 - - [30/Apr/2019:10:44:53 +0100] "GET /mylyn/versions HTTP/1.1" 200 11607
10.0.156.96 - - [30/Apr/2019:10:44:53 +0100] "GET /mylyn/trackers HTTP/1.1" 200 1369
10.0.156.96 - - [30/Apr/2019:10:44:53 +0100] "GET /mylyn/issuepriorities HTTP/1.1" 200 841
10.0.156.96 - - [30/Apr/2019:10:44:53 +0100] "GET /mylyn/settings HTTP/1.1" 200 267
10.0.156.96 - - [30/Apr/2019:10:44:54 +0100] "GET /mylyn/issue/1080 HTTP/1.1" 200 5889
thumbnail
Torsten Stolpmann, modified 4 Years ago.

RE: Redmine 3.3.0 Issue Link / Create

Jedi Council Member Posts: 755 Join Date: 2/12/09 Recent Posts
Hi Setul,

thanks for adding this. Can you please also share a screendump of the custom fields active for the Redmine project?

Regards

Torsten
Setul Dhanani, modified 4 Years ago.

RE: Redmine 3.3.0 Issue Link / Create

Youngling Posts: 4 Join Date: 4/30/19 Recent Posts
Custom Field : Impact 
Type : Drop Down
Values :
Yes
No

Custom Field :  Module
Type : Check Boxes
Option : Multi Select
Values :
API
Client Communication
Configuration(General)
Dashboards
Data Extract
Depot
Desktop App
Email
External Interface
Invoicing
Kettle
Master Data
Master File
Mobile Application
Monitoring
Order Entry
Order Import
POD
Planning
Ratecards
Reports
Requirements Gathering
Scan App
Support query/investigation
System Configuration
Tracking
Work Flow
Others
thumbnail
Torsten Stolpmann, modified 4 Years ago.

RE: Redmine 3.3.0 Issue Link / Create (Answer)

Jedi Council Member Posts: 755 Join Date: 2/12/09 Recent Posts
Thanks Setul,

I will look into this and get back to you later.

Torsten
Setul Dhanani, modified 4 Years ago.

RE: Redmine 3.3.0 Issue Link / Create

Youngling Posts: 4 Join Date: 4/30/19 Recent Posts
Hi,

Have you had any luck with this issue?

Please let me know if you require any further information.

Thank you in advance
thumbnail
Torsten Stolpmann, modified 4 Years ago.

RE: Redmine 3.3.0 Issue Link / Create (Answer)

Jedi Council Member Posts: 755 Join Date: 2/12/09 Recent Posts
Hi Setul,

The problem is caused by the fact, that the redmine mylyn plugin we are using as a third party dependency is not supporting this particular custom issue type (key value list / drop down) and falls flat once this type is encountered.

Sadly, we currently have no workaround at hand to circumvent this.

I will let you know as soon as a solution for this is available.

Thanks for pointing that out.

Regards,

Torsten
Setul Dhanani, modified 4 Years ago.

RE: Redmine 3.3.0 Issue Link / Create

Youngling Posts: 4 Join Date: 4/30/19 Recent Posts
Is there any documentation you can provide to assist us in developing our own plugin to connect to the Klaros system from redmine.
thumbnail
Torsten Stolpmann, modified 4 Years ago.

RE: Redmine 3.3.0 Issue Link / Create

Jedi Council Member Posts: 755 Join Date: 2/12/09 Recent Posts
Hello Sethul,

if you are planning a custom integration from the redmine side we gladly provide the documentation available. I would be very interested to hear what you have in mind.

Just to clarify the situation: The current issue can only be resolved by updating the redmine client library on the Klaros side. We are still evaluating how to resolve this.

Please contact me at support@verit.de so we can discuss details of the integration and what you would need from us.

Regards,

Torsten
thumbnail
Torsten Stolpmann, modified 4 Years ago.

RE: Redmine 3.3.0 Issue Link / Create

Jedi Council Member Posts: 755 Join Date: 2/12/09 Recent Posts
Hi Setul,

we have just released version 4.11 which contains a hotfix for this exception.

Sadly, we had to exclude this particular custom issue type from the list of supported fields. They will no longer show up on the Klaros-side. Other than that, the Redmine integration should now work again as announced.

To have full support, additional changes on the Redmine Mylyn Plugin side are required.

I am not happy about this solution but this is all we can do at the moment without additional support from the Redmine Mylyn Plugin authors.

If you are interested in additional details please conact me under support@verit.de.

Thanks again for your report.

Regards,

Torsten