-
Bug
-
Resolution: Fixed
-
Medium
-
5.4.7, 5.11.0, 5.11.3
-
None
-
2
-
Severity 2 - Major
-
21
-
Issue Summary
When an unlicensed customer interacts with Assets object via Customer portal, triggering a post-function that would update object attributes, the post functions would report ValidationInsightException error and they will not perform actions.
The exception is known to be reported for User type and Status attributes, for now.
This is reproducible on Data Center: yes
Steps to Reproduce
- Make sure the used object type has a Status or User type attributes
- Add an Assets custom field on the customer portal, so that a customer can select an Asset on a request form
- In the workflow, on a Create Issue transition, add an Assets post-function that will modify the Assets field's attribute values for Status and / or User type attributes
- Log in as an unlicensed customer > on the request creation form, fill the necessary information and also select an Assets object > create request
Expected Results
Request is created and post-functions execute without any problems. Assets object attribute values are updated accordingly.
Actual Results
Request is created, but post-functions end up in erroneous state. Attribute values are not updated as per the post-function rules. The following error is thrown in the atlassian-jira.log:
023-11-27 12:38:12,732+0000 http-nio-8080-exec-5 url: /jira/servicedesk/customer/portal/1/create/1, /jira/rest/servicedesk/1/customer/pages/portal/1/create/1; user: testuser WARN testuser 758x2406x1 16ck6wq xxx.xxx.xxx.xxx,yyy.yyy.yyy.yyy /servicedesk/customer/portal/1/create/1 [c.r.j.p.i.s.jira.workflow.InsightWorkflowFunction] Postfunction failed for object: Object 1 (TEST-1) com.riadalabs.jira.plugins.insight.common.exception.ValidationInsightException: ValidationInsightException: Validation errors were found: rlabs-insight-attribute-6: ErrorMessage{i18nKey='rlabs.insight.i18n.constraint.violation.ObjectAttributeValueBean.NotFound.Users', parameters=[JIRAUSER10200], additionalMessage=null}; at com.riadalabs.jira.plugins.insight.services.validation.ValidateObjectImpl.validateObjectAttributeBean(ValidateObjectImpl.java:153) at com.riadalabs.jira.plugins.insight.services.core.ObjectServiceImpl.storeObjectAttribute(ObjectServiceImpl.java:1074) at com.riadalabs.jira.plugins.insight.services.core.ObjectServiceImpl.storeObjectAttribute(ObjectServiceImpl.java:1062) at com.riadalabs.jira.plugins.insight.services.jira.workflow.InsightWorkflowFunction.execute(InsightWorkflowFunction.java:992) at com.opensymphony.workflow.AbstractWorkflow.executeFunction(AbstractWorkflow.java:1014) at com.opensymphony.workflow.AbstractWorkflow.transitionWorkflow(AbstractWorkflow.java:1407) at com.opensymphony.workflow.AbstractWorkflow.initialize(AbstractWorkflow.java:606) at com.atlassian.jira.workflow.OSWorkflowManager.createIssue(OSWorkflowManager.java:754) at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:577) at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:486) at com.atlassian.jira.issue.managers.RequestCachingIssueManager.createIssue(RequestCachingIssueManager.java:195) at com.atlassian.jira.bc.issue.DefaultIssueService.create(DefaultIssueService.java:267) at com.atlassian.jira.bc.issue.DefaultIssueService.create(DefaultIssueService.java:235) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 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.$Proxy551.create(Unknown Source) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 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)
Workaround
There is no workaround at this time.