I have been working with bundled fields and I am having a problem with trying to figure out how to pull a value and validate before continuing on to ticket creation. I have a bundled field with a field called "GL Code Percentage" They can have multiple rows in the bundled field so there might be one or two values for the "GL Code Percentage" I am trying to put these into variables and check to see if they add up to 100.
I have been working with bundled fields and I am having a problem with trying to figure out how to pull a value and validate before continuing on to ticket creation.
We faced the same problem.
We cannot rely on BundledFieldService#getBundledField since the issue is not existing yet:
com.atlassian.jira.exception.CreateException: An unknown exception occured executing Validator com.atlassian.jira.workflow.SkippableValidator@7a85595f: root cause: issue is marked non-null but is null
at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:586)
at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:487)
at com.atlassian.jira.issue.managers.RequestCachingIssueManager.createIssue(RequestCachingIssueManager.java:195)
at com.atlassian.jira.bc.issue.DefaultIssueService.create(DefaultIssueService.java:256)
at com.atlassian.jira.bc.issue.DefaultIssueService.create(DefaultIssueService.java:224)
at jdk.internal.reflect.GeneratedMethodAccessor5279.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
at com.sun.proxy.$Proxy249.create(Unknown Source)
at jdk.internal.reflect.GeneratedMethodAccessor5279.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:137)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:137)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
at com.sun.proxy.$Proxy4295.create(Unknown Source)
at com.atlassian.servicedesk.internal.feature.customer.request.CustomerRequestManagerImpl.createCustomerRequest(CustomerRequestManagerImpl.java:295)
at com.atlassian.servicedesk.internal.feature.customer.request.CustomerRequestManagerImpl.lambda$createRequest$6(CustomerRequestManagerImpl.java:144)
at io.atlassian.fugue.Either$RightProjection.flatMap(Either.java:937)
at io.atlassian.fugue.Either.flatMap(Either.java:231)
at com.atlassian.pocketknife.step.EitherStep1.then(EitherStep1.java:18)
at com.atlassian.servicedesk.internal.feature.customer.request.CustomerRequestManagerImpl.createRequest(CustomerRequestManagerImpl.java:144)
at com.atlassian.servicedesk.internal.feature.customer.request.InternalCustomerRequestServiceImpl.lambda$createRequest$35(InternalCustomerRequestServiceImpl.java:493)
at io.atlassian.fugue.Either$RightProjection.flatMap(Either.java:937)
at io.atlassian.fugue.Either.flatMap(Either.java:231)
at com.atlassian.servicedesk.internal.feature.customer.request.InternalCustomerRequestServiceImpl.createRequest(InternalCustomerRequestServiceImpl.java:493)
at com.atlassian.servicedesk.internal.feature.customer.request.InternalCustomerRequestServiceImpl.lambda$createRequestAsUser$37(InternalCustomerRequestServiceImpl.java:514)
at com.atlassian.pocketknife.internal.util.runner.AuthenticationContextUtilImpl.runAs(AuthenticationContextUtilImpl.java:53)
at com.atlassian.servicedesk.internal.feature.customer.request.InternalCustomerRequestServiceImpl.createRequestAsUser(InternalCustomerRequestServiceImpl.java:513)
at com.atlassian.servicedesk.internal.rest.CustomerWebResource.submitFormInternal(CustomerWebResource.java:973)
at io.atlassian.fugue.Either$Right.fold(Either.java:641)
at com.atlassian.servicedesk.internal.rest.CustomerWebResource.lambda$submitForm$38(CustomerWebResource.java:828)
at io.atlassian.fugue.Either$Right.fold(Either.java:641)
at com.atlassian.servicedesk.internal.rest.CustomerWebResource.submitForm(CustomerWebResource.java:826)
at jdk.internal.reflect.GeneratedMethodAccessor6389.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
... 13 filtered
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:160)
... 1 filtered
at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:70)
... 32 filtered
at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:55)
... 4 filtered
at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:55)
... 3 filtered
at com.atlassian.servicedesk.internal.web.UrlOperationalStatusCheckFilter.doFilterWhenLicensed(UrlOperationalStatusCheckFilter.java:39)
at com.atlassian.servicedesk.internal.web.OperationalStatusAwareHttpFilter.doFilter(OperationalStatusAwareHttpFilter.java:28)
... 4 filtered
at com.atlassian.servicedesk.internal.web.PopulateEyeballForRestFilter.doFilterWhenLicensed(PopulateEyeballForRestFilter.java:36)
at com.atlassian.servicedesk.internal.web.OperationalStatusAwareHttpFilter.doFilter(OperationalStatusAwareHttpFilter.java:28)
... 4 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 21 filtered
at org.kantega.atlaskerb.AtlasKerberosFilter.doFilter(AtlasKerberosFilter.java:133)
... 15 filtered
at com.atlassian.ratelimiting.internal.filter.RateLimitFilter.doFilter(RateLimitFilter.java:73)
... 3 filtered
at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
... 10 filtered
at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
... 1 filtered
at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
... 13 filtered
at com.atlassian.pats.web.filter.TokenBasedAuthenticationFilter.doFilter(TokenBasedAuthenticationFilter.java:82)
... 7 filtered
at org.kantega.atlaskerb.AtlasKerberosFilter.doFilter(AtlasKerberosFilter.java:133)
... 3 filtered
at org.kantega.atlaskerb.AtlasKerberosFilter.doFilter(AtlasKerberosFilter.java:297)
... 6 filtered
at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
... 5 filtered
at com.atlassian.plugins.authentication.impl.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:70)
... 3 filtered
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:118)
... 4 filtered
at com.atlassian.ratelimiting.internal.filter.RateLimitPreAuthFilter.doFilter(RateLimitPreAuthFilter.java:71)
... 3 filtered
at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
... 10 filtered
at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
... 7 filtered
at jdk.internal.reflect.GeneratedMethodAccessor1104.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at net.bull.javamelody.JspWrapper.invoke(JspWrapper.java:152)
at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:306)
at com.sun.proxy.$Proxy6136.forward(Unknown Source)
... 12 filtered
at org.kantega.atlaskerb.AtlasKerberosFilter.doFilter(AtlasKerberosFilter.java:133)
... 3 filtered
at org.kantega.atlaskerb.AtlasKerberosFilter.doFilter(AtlasKerberosFilter.java:133)
... 26 filtered
at com.atlassian.servicedesk.project.internal.web.filters.NormaliseUrlFilter.doFilter(NormaliseUrlFilter.java:25)
... 4 filtered
at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
... 3 filtered
at com.intenso.jira.plugins.servlet.filter.ExtensionRefreshFilter.proceedRequest(ExtensionRefreshFilter.java:48)
at com.intenso.jira.plugins.servlet.filter.ExtensionRefreshFilter.doFilter(ExtensionRefreshFilter.java:40)
... 17 filtered
at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
... 1 filtered
at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
... 16 filtered
at com.atlassian.pats.web.filter.TokenBasedAuthenticationFilter.doFilter(TokenBasedAuthenticationFilter.java:82)
... 3 filtered
at com.intenso.jira.plugins.servlet.filter.PortalSecurityFilter.proceedRequest(PortalSecurityFilter.java:69)
at com.intenso.jira.plugins.servlet.filter.PortalSecurityFilter.doFilter(PortalSecurityFilter.java:61)
... 3 filtered
at com.intenso.jira.plugins.servlet.filter.RequestSecurityFilter.proceedRequest(RequestSecurityFilter.java:60)
at com.intenso.jira.plugins.servlet.filter.RequestSecurityFilter.doFilter(RequestSecurityFilter.java:44)
... 7 filtered
at org.kantega.atlaskerb.AtlasKerberosFilter.doFilter(AtlasKerberosFilter.java:133)
... 3 filtered
at org.kantega.atlaskerb.AtlasKerberosFilter.doFilter(AtlasKerberosFilter.java:133)
... 3 filtered
at org.kantega.atlaskerb.AtlasKerberosFilter.doFilter(AtlasKerberosFilter.java:297)
... 3 filtered
at org.kantega.atlaskerb.AtlasKerberosPreFilter.doFilter(AtlasKerberosPreFilter.java:96)
... 15 filtered
at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
... 5 filtered
at com.atlassian.plugins.authentication.impl.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:70)
... 3 filtered
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:215)
at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:136)
at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runInContext(ReentrantThreadLocalBasedCodeContext.java:54)
at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runInCustomerContext(CustomerContextServiceImpl.java:37)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.inCustomerContext(CustomerContextSettingFilter.java:199)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:132)
at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:123)
... 4 filtered
at org.kantega.atlaskerb.AtlasKerberosPreFilter.doFilter(AtlasKerberosPreFilter.java:116)
... 3 filtered
at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:37)
... 8 filtered
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
... 4 filtered
at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
... 3 filtered
at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
... 7 filtered
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88)
at net.bull.javamelody.JiraMonitoringFilter.doFilter(JiraMonitoringFilter.java:137)
... 3 filtered
at org.kantega.atlaskerb.msteams.MsTeamsSecurityHeadersFilter.doFilter(MsTeamsSecurityHeadersFilter.java:50)
... 25 filtered
at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
... 25 filtered
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.atlassian.jira.workflow.WorkflowException: An unknown exception occured executing Validator com.atlassian.jira.workflow.SkippableValidator@7a85595f: root cause: issue is marked non-null but is null
at com.atlassian.jira.workflow.OSWorkflowManager.createIssue(OSWorkflowManager.java:773)
at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:578)
... 502 more
Caused by: com.opensymphony.workflow.WorkflowException: An unknown exception occured executing Validator com.atlassian.jira.workflow.SkippableValidator@7a85595f: root cause: issue is marked non-null but is null
at com.opensymphony.workflow.AbstractWorkflow.verifyInputs(AbstractWorkflow.java:1477)
at com.opensymphony.workflow.AbstractWorkflow.initialize(AbstractWorkflow.java:606)
at com.atlassian.jira.workflow.OSWorkflowManager.createIssue(OSWorkflowManager.java:754)
... 503 more
Caused by: java.lang.NullPointerException: issue is marked non-null but is null
at com.deviniti.plugins.bundledfields.api.issue.BundledFieldImpl.<init>(BundledFieldImpl.java:41)
at com.deviniti.plugins.bundledfields.api.issue.BundledFieldServiceImpl.getBundledField(BundledFieldServiceImpl.java:38)
at com.deviniti.plugins.bundledfields.api.issue.BundledFieldService$getBundledField.call(Unknown Source)
at script_913c6ea6651f3c974061e52f49f2176b.run(script_913c6ea6651f3c974061e52f49f2176b.groovy:15)
at com.innovalog.groovy.GroovyExpression.eval(GroovyExpression.java:193)
at com.innovalog.jmwe.plugins.validators.GroovyValidator.doValidate(GroovyValidator.java:65)
at com.innovalog.jmwe.plugins.validators.GenericValidator.validate(GenericValidator.java:122)
at com.atlassian.jira.workflow.SkippableValidator.validate(SkippableValidator.java:45)
at com.opensymphony.workflow.AbstractWorkflow.verifyInputs(AbstractWorkflow.java:1466)
... 506 more
Any advice?
Thanks in advance.
Cheers.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.