Uploaded image for project: 'Jira Software Data Center'
  1. Jira Software Data Center
  2. JSWSERVER-24900

Issue Creation fails within the plan if workflow validators from the JSU add-on are used

    • 8.2
    • 11
    • Severity 2 - Major
    • 23
    • Hide

       

      Atlassian Update – 13 February 2023

      Dear Customers,

      Thank you for taking the time to file and comment on this issue. We realize it still occurs and impacts your organization. We are now working on multiple customer requests and on new features, so we have to postpone our resolution of this issue. We’ve decided to move this issue to our long-term backlog.

      The workaround for this bug is in the issue description.

      Please continue watching this ticket for future updates and changes in the timeline that impacts your work.

      Best regards

      Daniel Dudziak
      Senior Software Engineer

      Show
        Atlassian Update – 13 February 2023 Dear Customers, Thank you for taking the time to file and comment on this issue. We realize it still occurs and impacts your organization. We are now working on multiple customer requests and on new features, so we have to postpone our resolution of this issue. We’ve decided to move this issue to our long-term backlog. The workaround for this bug is in the issue description. Please continue watching this ticket for future updates and changes in the timeline that impacts your work. Best regards Daniel Dudziak Senior Software Engineer

      Issue Summary

      Issue Creation from within the Advanced Roadmap plan fails if a required field is configured in the ‘create’ transition of the Workflows using a validator from the JSU Automation Suite for Jira Workflows 3rd-party add-on.

      Steps to Reproduce

      Preliminary steps

      Install JSU plugin just to add a required field validator. We can follow the below steps

      1. Edit the workflow which is associated to the specific issuetype
      2. Click on the Create transition, and click on Validators
      3. Click on add validator
      4. Select the radio button "Fields Required (JSU)" and click add
      5. From the available fields, select Description and click "Add"
      6. Publish the workflow

      Steps to replicate the bug

      1. Open an existing Portfolio plan
      2. Click on Create Issue link from the plan
      3. Provide the summary and select the Issue type as Story
      4. Click on Review Changes button to view the modified details
      5. Click on "Save Selected Changes in Jira" button
      6. Changes cannot be saved' notification is displayed to the user.

      Expected Results

      It will bring another dialog box requesting for other mandatory fields to fill in according to the issue type selected.

      Actual Results

      Error as seen in the screenshot

      The below exception is thrown in the xxxxxxx.log file:

      2020-06-18 18:52:11,241 http-nio-8851-exec-6 WARN admin 1132x7016x1 27281f 0:0:0:0:0:0:0:1 /rest/jpo/1.0/issues/commit [c.a.r.j.c.scenario.common.BaseScenarioEntityCommitService] Error in commit operation.
      com.atlassian.rm.jpo.env.issues.EnvironmentIssueCreateException: Specific error details: {description=Description is required.}
      	at com.atlassian.rm.jpo.env.issues.JiraIssueService.createIssue(JiraIssueService.java:166)
      	at com.atlassian.rm.jpo.core.scenario.issue.ScenarioIssueCreateAction.performApiOperation(ScenarioIssueCreateAction.java:88)
      	at com.atlassian.rm.jpo.core.scenario.issue.ScenarioIssueModificationAction.perform(ScenarioIssueModificationAction.java:284)
      	at com.atlassian.rm.common.persistence.transaction.Registry.run(Registry.java:35)
      	at com.atlassian.rm.jpo.core.scenario.issue.ScenarioIssueCommitService.add(ScenarioIssueCommitService.java:137)
      	at com.atlassian.rm.jpo.core.scenario.issue.ScenarioIssueCommitService.add(ScenarioIssueCommitService.java:47)
      	at com.atlassian.rm.jpo.core.scenario.common.BaseScenarioEntityCommitService.addInternal(BaseScenarioEntityCommitService.java:349)
      	at com.atlassian.rm.jpo.core.scenario.common.BaseRankableScenarioEntityCommitService.addInternal(BaseRankableScenarioEntityCommitService.java:68)
      	at com.atlassian.rm.jpo.core.scenario.common.BaseScenarioEntityCommitService.executeOperation(BaseScenarioEntityCommitService.java:428)
      	at com.atlassian.rm.jpo.core.scenario.common.BaseScenarioEntityCommitService.transactionalCommitInternal(BaseScenarioEntityCommitService.java:291)
      	at com.atlassian.rm.jpo.core.scenario.common.BaseScenarioEntityCommitService$2.apply(BaseScenarioEntityCommitService.java:257)
      	at com.atlassian.rm.jpo.core.scenario.common.BaseScenarioEntityCommitService$2.apply(BaseScenarioEntityCommitService.java:252)
      	at com.atlassian.rm.common.persistence.transaction.TransactionHandler.inTransaction(TransactionHandler.java:111)
      	at com.atlassian.rm.common.persistence.transaction.TransactionHandler.inNewTransaction(TransactionHandler.java:99)
      	at com.atlassian.rm.common.persistence.transaction.TransactionHandler.inNewTransaction(TransactionHandler.java:89)
      	at com.atlassian.rm.common.persistence.transaction.TransactionHandler.lambda$inDatabaseTransaction$3(TransactionHandler.java:69)
      	at com.atlassian.rm.common.persistence.DefaultDatabaseProvider.lambda$run$0(DefaultDatabaseProvider.java:24)
      	at com.atlassian.rm.common.persistence.env.JiraDatabaseProvider.lambda$execute$0(JiraDatabaseProvider.java:34)
      	at com.atlassian.rm.common.bridges.jira.persistence.JiraDatabaseProviderBridge76.execute(JiraDatabaseProviderBridge76.java:59)
      	at com.atlassian.rm.common.persistence.env.JiraDatabaseProvider.execute(JiraDatabaseProvider.java:34)
      	at com.atlassian.rm.common.persistence.DefaultDatabaseProvider.run(DefaultDatabaseProvider.java:24)
      	at com.atlassian.rm.common.persistence.transaction.TransactionHandler.inDatabaseTransaction(TransactionHandler.java:68)
      	at com.atlassian.rm.jpo.core.scenario.common.BaseScenarioEntityCommitService.commitInternal(BaseScenarioEntityCommitService.java:252)
      	at com.atlassian.rm.jpo.core.scenario.common.BaseScenarioEntityCommitService.commit(BaseScenarioEntityCommitService.java:143)
      	at com.atlassian.rm.jpo.rest.service.scenario.common.BaseScenarioCommitRestEndpoint.commit(BaseScenarioCommitRestEndpoint.java:43)
      	... 3 filtered
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	... 8 filtered
      	at com.atlassian.rm.common.rest.scope.RequestOperationScopeDispatcher.dispatch(RequestOperationScopeDispatcher.java:25)
      	at com.atlassian.rm.common.rest.permissions.AnnotationPermissionDispatcher.dispatch(AnnotationPermissionDispatcher.java:49)
      	at com.atlassian.rm.common.rest.permissions.AnnotationPermissionDispatcher.dispatch(AnnotationPermissionDispatcher.java:49)
      	at com.atlassian.rm.common.rest.mau.MauTrackingDispatcher.dispatch(MauTrackingDispatcher.java:28)
      	... 10 filtered
      	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:159)
      	... 1 filtered
      	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:69)
      	... 32 filtered
      	at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:55)
      	... 8 filtered
      	at com.atlassian.jira.plugin.mobile.web.filter.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:37)
      	... 4 filtered
      	at com.atlassian.jira.plugin.mobile.login.MobileLoginSuccessFilter.doFilter(MobileLoginSuccessFilter.java:54)
      	... 3 filtered
      	at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:55)
      	... 8 filtered
      	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
      	... 57 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.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37)
      	... 19 filtered
      	at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
      	... 5 filtered
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:213)
      	at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:136)
      	at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:89)
      	at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:47)
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:204)
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:135)
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:124)
      	... 4 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.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
      	... 26 filtered
      	at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
      	... 25 filtered
      	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)
      
      2020-06-18 18:52:11,256 http-nio-8851-exec-6 WARN admin 1132x7016x1 27281f 0:0:0:0:0:0:0:1 /rest/jpo/1.0/issues/commit [c.a.r.j.c.scenario.issue.IssueScenarioEntityCommitExceptionHandler] Exception when trying to commit issue: Specific error details: {description=Description is required.}.
      2020-06-18 18:52:11,385 http-nio-8851-exec-22 ERROR admin 1132x7017x1 27281f 0:0:0:0:0:0:0:1 /rest/jpo/1.0/backlog/hiddenIssues [c.a.r.c.r.provider.exception.DefaultExceptionMapper] java.lang.NumberFormatException: For input string: "SCEN-0fbd194e-d5ce-48dd-8be1-846aeaf85fe9"
      com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: For input string: "SCEN-0fbd194e-d5ce-48dd-8be1-846aeaf85fe9"
      	at com.google.gson.internal.bind.TypeAdapters$8.read(TypeAdapters.java:263)
      	at com.google.gson.internal.bind.TypeAdapters$8.read(TypeAdapters.java:253)
      	at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
      	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:81)
      	at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60)
      	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:103)
      	at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:196)
      	at com.google.gson.Gson.fromJson(Gson.java:810)
      	at com.google.gson.Gson.fromJson(Gson.java:775)
      	at com.atlassian.rm.common.basics.gson.GsonJsonTransformer.fromJson(GsonJsonTransformer.java:23)
      	at com.atlassian.rm.common.rest.provider.GsonJerseyProviderUtf8.readFrom(GsonJerseyProviderUtf8.java:72)
      	at com.atlassian.rm.common.rest.provider.GsonJerseyProviderUtf8.readFrom(GsonJerseyProviderUtf8.java:25)
      	at com.sun.jersey.spi.container.ContainerRequest.getEntity(ContainerRequest.java:490)
      	at com.sun.jersey.spi.container.AdaptingContainerRequest.getEntity(AdaptingContainerRequest.java:236)
      	... 5 filtered
      	at com.atlassian.rm.common.rest.scope.RequestOperationScopeDispatcher.dispatch(RequestOperationScopeDispatcher.java:25)
      	at com.atlassian.rm.common.rest.permissions.AnnotationPermissionDispatcher.dispatch(AnnotationPermissionDispatcher.java:49)
      	at com.atlassian.rm.common.rest.mau.MauTrackingDispatcher.dispatch(MauTrackingDispatcher.java:28)
      	... 11 filtered
      	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:159)
      	... 1 filtered
      	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:69)
      	... 32 filtered
      	at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:55)
      	... 8 filtered
      	at com.atlassian.jira.plugin.mobile.web.filter.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:37)
      	... 4 filtered
      	at com.atlassian.jira.plugin.mobile.login.MobileLoginSuccessFilter.doFilter(MobileLoginSuccessFilter.java:54)
      	... 3 filtered
      	at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:55)
      	... 8 filtered
      	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
      	... 57 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.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:37)
      	... 19 filtered
      	at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
      	... 5 filtered
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:213)
      	at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:136)
      	at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:89)
      	at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:47)
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:204)
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:135)
      	at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:124)
      	... 4 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.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
      	... 26 filtered
      	at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
      	... 25 filtered
      	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.NumberFormatException: For input string: "SCEN-0fbd194e-d5ce-48dd-8be1-846aeaf85fe9"
      	at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
      	at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
      	at java.lang.Double.parseDouble(Double.java:538)
      	at com.google.gson.stream.JsonReader.nextLong(JsonReader.java:977)
      

      Workaround

      Instead of using the JSU workflow validator to make the field required, make it required via Jira's native Field Configuration feature.

          Form Name

            [JSWSERVER-24900] Issue Creation fails within the plan if workflow validators from the JSU add-on are used

            Julien Rey added a comment -

            Note about the fix implemented for this bug:

            • This fix only handles the situation where the workflow validator that makes a field required is coming from the 3rd party add-on JSU
            • This fix does not address workflow validators coming from other 3rd party add-ons, such as JMWE, ScriptRunner, ...

            Julien Rey added a comment - Note about the fix implemented for this bug: This fix only handles the situation where the workflow validator that makes a field required is coming from the 3rd party add-on JSU This fix does not address workflow validators coming from other 3rd party add-ons, such as JMWE, ScriptRunner, ...

            +1, for many cases fields are required only on specific stages of issue`s life

            Stanisław Białowąs added a comment - +1, for many cases fields are required only on specific stages of issue`s life

            Stasiu added a comment -

             

            Atlassian Update – 13 February 2023

            Dear Customers,

            Thank you for taking the time to file and comment on this issue. We realize it still occurs and impacts your organization. We are now working on multiple customer requests and on new features, so we have to postpone our resolution of this issue. We’ve decided to move this issue to our long-term backlog.

            The workaround for this bug is in the issue description.

            Please continue watching this ticket for future updates and changes in the timeline that impacts your work.

            Best regards

            Daniel Dudziak
            Senior Software Engineer

            Stasiu added a comment -   Atlassian Update – 13 February 2023 Dear Customers, Thank you for taking the time to file and comment on this issue. We realize it still occurs and impacts your organization. We are now working on multiple customer requests and on new features, so we have to postpone our resolution of this issue. We’ve decided to move this issue to our long-term backlog. The workaround for this bug is in the issue description. Please continue watching this ticket for future updates and changes in the timeline that impacts your work. Best regards Daniel Dudziak Senior Software Engineer

            Dear all,

            I would like to inform you that this issue in the project JPOSERVER is being migrated to the new project JSWSERVER. Your votes and comments will remain unchanged.
            Our team at Atlassian will continue to monitor this issue for further updates, so please feel free to share your thoughts or feedback in the comments.

            Sincerely,
            Aakrity Tibrewal
            Jira DC

            Aakrity Tibrewal added a comment - Dear all, I would like to inform you that this issue in the project JPOSERVER is being migrated to the new project JSWSERVER. Your votes and comments will remain unchanged. Our team at Atlassian will continue to monitor this issue for further updates, so please feel free to share your thoughts or feedback in the comments. Sincerely, Aakrity Tibrewal Jira DC

            As JSWCLOUD-19311 is being fixed now, will this be applied to the server versions of Jira as well?

            Roman.Benesch added a comment - As JSWCLOUD-19311 is being fixed now, will this be applied to the server versions of Jira as well?

            David Pezet added a comment - Is this related to https://ecosystem.atlassian.net/browse/ACJIRA-2504 ?

            Azfar Masut added a comment - - edited

            Expectation is the issue creation should also respect fields required by add-ons as well (scriptrunner behavior for example).
            Just like how the issue creation that happens through the agile backlog + if this is not possible, a clear warning/error message is thrown telling about failed due to field required

            Azfar Masut added a comment - - edited Expectation is the issue creation should also respect fields required by add-ons as well (scriptrunner behavior for example). Just like how the issue creation that happens through the agile backlog + if this is not possible, a clear warning/error message is thrown telling about failed due to field required

            Hi! We're just updated from Jira 8.7.1 to 8.14.1 and got the same problem. I can confirm that another dialog box is being dawned under Review and commit changes pressing TAB 3 times and writing someone's name. Our workaround was to disable Allow unassigned issues in administration -> system but we would appreciate this bug to be solved ASAP.

            Gustavo Raphael Stein added a comment - Hi! We're just updated from Jira 8.7.1 to 8.14.1 and got the same problem. I can confirm that another dialog box is being dawned under Review and commit changes pressing TAB 3 times and writing someone's name. Our workaround was to disable Allow unassigned issues in administration -> system but we would appreciate this bug to be solved ASAP.

            Raju NS added a comment -

            Hi, 

            We have ~200 Jira projects . Teams like new Advanced roadmap interface and also its very risky to implement second option.

            So, when can we expect fix for this?

            Raju NS added a comment - Hi,  We have ~200 Jira projects . Teams like new Advanced roadmap interface and also its very risky to implement second option. So, when can we expect fix for this?

              427d436cf927 Rajshri
              amukkamala Aditya M
              Affected customers:
              38 This affects my team
              Watchers:
              58 Start watching this issue

                Created:
                Updated:
                Resolved: