Context of JSM portal request create property panel

Hi everyone,
I’ve created the jiraServiceManagement:portalRequestCreatePropertyPanel module to my Forge based app.
Currently, the custom UI context of this module has only three parameters: moduleType, portalId and requestTypeId.
It seems to me that the module type parameter is redundant, because we already know in which module our custom UI is used. We connect them in the manifest file.
But for an accurate understanding of where our UI is rendered, there is not enough a service desk ID or an ID of project associated with it.
Could someone tell me how I can get these missing values? Maybe they are planned to be added to the context in the near future?
Thanks for any help.

Hi @Alex_Basatski,

I totally understand that the portalId reference can be confusing but the value returned by the custom UI context is a serviceDeskId which can be used in the Jira Service Management API to retrieve a project ID.

I’ve just confirmed this with a test by adding the following lines to the App.js file:

import {view} from "@forge/bridge";
view.getContext().then(console.log);

When loading the request, this is logged in the browser console:

I’m sharing it also to highlight that the field is available at the /extension/portal/id path.

When requesting the /rest/servicedeskapi/servicedesk/4 (where 4 is the portalID from the response), I can retrieve the Jira projectID, its name and key.
Here is the output from my test:

{
	"id": "4",
	"projectId": "10006",
	"projectName": "Third",
	"projectKey": "THIR",

Cheers,
Caterina

3 Likes

@ccurti thank you for your reply.
But do I understand correctly that the portal ID and the service desk ID are always the same?
It turns out that if the portal ID is 2, then the project ID will also be 2, right?

Yes, that’s correct @Alex_Basatski: The service desk ID matches the portal ID, the project ID is different though as that’s the Jira Core project.

3 Likes

@ccurti thanks again for the clarification.
Unfortunately, it wasn’t obvious.

A post was split to a new topic: Get request type fields REST API for Jira Service Management Issue view

@Alex_Basatski would you mind sharing how you have configured this extension using custom UI? I am trying to create some portal property’s using custom UI but they do not seem to render in the create request screen of the portal.

@ccurti if there is an example of this somewhere can you point me to it.

Hi @jeffryan,

Not a published example but the screenshot above is based on the template from the forge create command. I’ve selected Custom UI as category and jira-service-management-portal-request-create-property-panel as template.

As with every Custom UI, the Build the content for your custom UI steps so the npm install and npm run build command in the static/hello-world folder are required.

The template adds the Custom Field in the screenshot below once installed:

Caterina

1 Like

Thanks @ccurti but for some reason I do not see the custom field on the create request screen. Does it matter what template I choose when creating the service management project? I tried several different types and the templates seem to dictate what fields are present on the request page but I never see the additional fields added by my app.

Hi @ccurti I went back and tried the custom UI again and I found a problem with my build. It’s working now. Thanks for your response.

Jeff

2 Likes

Even if you solved it before I got back to you, let me add that:

  • the service management project doesn’t affect if the field is visible or not
  • the module is available both in team and company managed projects (this was my other hypothesis)

Ah, the build error was not the problem.

The reason I wasn’t seeing the additional create properties was because I was creating the service request as a customer (email/password) and not an authenticated jira user. When I created a service request under my normal jira user account I could see the extra fields.

I see there is an property in the form data schema called unlicensedAccess that I needed to set to include ‘customer’. It wasn’t entirely obvious from that documentation page how to configure this but I found details on a related page that this is configured in the manifest

2 Likes

@jeffryan @ccurti Does the jiraServiceManagement:portalRequestCreatePropertyPanel module also need to define access (unlicensedAccess) in the manifest file?

But there is no unlicensedAccess property in the documentation.

@jeffryan Returning to your original question, the easiest way to get an example project for a module is to create it with Forge CLI.
During the creation process, select the desired category and template. You will get the simplest working version of the module.

In your case, you select the Custom UI category, then select the jira-service-management-portal-request-create-property-panel template.

1 Like

Yes, that was my experience @Alex_Basatski - which is why I said it wasn’t obvious from the documentation page. I just stumbled upon it when it wasn’t appearing for certain users.

@ccurti perhaps this should be more directly mentioned in the the documentation for that module.

1 Like

@jeffryan thank you for your reply. This is very useful information.

@ccurti Could you clarify whether it is really mandatory to specify unlicensedAccess in the manifest file for the Portal request create property panel module? For example, for the Portal request detail panel module, this is explicitly described in the documentation.