Back

Redmine 3.3.0 Issue Link / Create

Toggle
Redmine 3.3.0 Issue Link / Create
Answer
4/30/19 12:24 PM
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 :
1
Issue 1080 has not been found in the issue management system IM00001 - Redmine, Test Project

Below is the error in the catalina.out file
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
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 :
12345678910111213141516171819202122
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
0 (0 Votes)

RE: Redmine 3.3.0 Issue Link / Create
Answer
4/30/19 1:55 PM as a reply to Setul Dhanani.
Hi Setul,

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

Regards

Torsten
0 (0 Votes)

RE: Redmine 3.3.0 Issue Link / Create
Answer
5/1/19 8:08 AM as a reply to Torsten Stolpmann.
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
0 (0 Votes)

RE: Redmine 3.3.0 Issue Link / Create
Answer
4/30/19 7:05 PM as a reply to Setul Dhanani.
Thanks Setul,

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

Torsten
0 (0 Votes)

RE: Redmine 3.3.0 Issue Link / Create
Answer
5/1/19 11:01 AM as a reply to Torsten Stolpmann.
Hi,

Have you had any luck with this issue?

Please let me know if you require any further information.

Thank you in advance
0 (0 Votes)

RE: Redmine 3.3.0 Issue Link / Create
Answer
5/1/19 10:41 PM as a reply to Setul Dhanani.
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
0 (0 Votes)

RE: Redmine 3.3.0 Issue Link / Create
Answer
5/2/19 11:46 AM as a reply to Torsten Stolpmann.
Is there any documentation you can provide to assist us in developing our own plugin to connect to the Klaros system from redmine.
0 (0 Votes)

RE: Redmine 3.3.0 Issue Link / Create
Answer
5/2/19 1:14 PM as a reply to Setul Dhanani.
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
0 (0 Votes)

RE: Redmine 3.3.0 Issue Link / Create
Answer
5/14/19 10:44 PM as a reply to Setul Dhanani.
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
0 (0 Votes)