The Proforma form is not attached to Jira issues created from the Customer Portal

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

 

Summary

When some Jira issues are created from the Customer Portal of a JSM (Jira Service Management) Project, the form does not get attached to the issue even though the form was visible in the request form.

For example:

  • A request is created from the customer portal, and the Proforma form is visible (tick):
  • However, after hitting on the "Create" button to submit the request, we can see that the form is missing from the request when it is accessed:
    • From the Customer Portal View (error):
    • From the Agent View (error):

Environment

Diagnosis

  • The issue does not happen to all users who are creating creating a request from the customer portal
  • The Form was correctly configured to appear on the Customer Portal, and for the Request Type selected by the user who created the request
  • When opening the Jira issue from the agent view, a value is set in the Security Level field.
    • (warning) Note that this field might not show because it is either set to hidden, or it is not configured in the View Issue Screen. Make sure to make this field visible to check if it has a value
  • Check the Issue Security Scheme associated to the JSM project and note that the Security Level found in the Jira issue is only associated to specific users:
  • Checking the Jira application logs, the following warnings will be thrown:

    2024-02-08 12:53:59,247+0000 proforma-actor-system-pf.dispatcher.server-394 WARN julien 773x238x1 1nbxvma 172.29.211.96,172.50.0.3 /servicedesk/customer/portal/1/create/1 [c.t.p.jira.server.IssueServerApi] Unable to find issue ITSD-49
    2024-02-08 12:54:00,435+0000 proforma-actor-system-pf.dispatcher.server-404 WARN julien 773x238x1 1nbxvma 172.29.211.96,172.50.0.3 /servicedesk/customer/portal/1/create/1 [c.t.p.jira.server.IssueServerApi] Could not put new form 1 because issue ITSD-49 could not be found
    2024-02-08 12:54:00,497+0000 proforma-actor-system-pf.dispatcher.mdc-397 WARN julien 773x238x1 1nbxvma 172.29.211.96,172.50.0.3 /servicedesk/customer/portal/1/create/1 [c.t.p.c.impl.service.IssueServiceImpl] Cannot create initial form because form index for project ITSD did not load due to exception
    java.lang.RuntimeException: Could not put new form 1 because issue ITSD-49 could not be found
    	at com.thinktilt.proforma.jira.server.IssueServerApi.$anonfun$putNewForm$1(IssueServerApi.scala:338)
    	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
    	at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:655)
    	at scala.util.Success.$anonfun$map$1(Try.scala:251)
    	at scala.util.Success.map(Try.scala:209)
    	at scala.concurrent.Future.$anonfun$map$1(Future.scala:289)
    	at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
    	at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
    	at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
    	at com.thinktilt.proforma.jira.api.executioncontext.MdcPropagatingRunnable.run(MdcPropagatingRunnable.scala:16)
    	at com.thinktilt.proforma.jira.server.executioncontext.JiraServerExecutionContextImpl.$anonfun$execute$1(JiraServerExecutionContext.scala:31)
    	at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
    	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    	at java.base/java.lang.Thread.run(Thread.java:829)

Cause

When the Proforma app tries to link the Form to the issue upon its creation, it does it on behalf of the user who created the issue. If this user does not have the permission to view the issue because of its security level, the Proforma app will fail to attach the form to the issue.

This situation can happen if:

  • the security level is configured as a hidden field and set to a default value via the Project Settings > Request Types configuration page
  • the security level is automatically set to a value via a script or post-function coming from a 3rd party add-on such as ScriptRunner

Solution

(warning) The suggested solution to fix this problem depends on how requests are created from the Customer Portal:

  • If customers are raising their own requests, please follow the steps from the Solution 1 
  • If Service Desk agents are raising requests on behalf of customers, please follow the steps from the Solution 2

Solution 1 - Case where customers raise their own requests

For this scenario, the solution consists in associating Service project customer - portal access to the security level in the Security Scheme configuration, as illustrated below:

By doing so, next time a user raises a request on the Customer Portal, the Proforma form will show both:

  • on the Customer Portal view
  • on the Agent facing View

Solution 2 - Case where Service Desk agents raise requests on behalf of customers

For this scenario, the solution consists in associating the 2 roles Administrators and Service Desk Team to the security level in the Security Scheme configuration, as illustrated below:


Last modified on Aug 5, 2024

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.