Missed Team ’24? Catch up on announcements here.

×
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Scriptrunner Web fragment for specific request type

Ricardo Araya May 13, 2021

Hi!
I am using Scriptrunner web fragments, 
I would like to know how to restrict web fragment for a specific request type of a specific portal.
In the documentation of Customizing the UI:
https://scriptrunner.adaptavist.com/5.6.8/jira/CustomisingUI.html

I can restrict web fragments to a certain portal using in the condition the following:

portal.id == 1

or a similar code

binding.variables.get("portal") && portal.id == 1

I would like to ask if I can restrict my web fragment to a certain request type in the portal.
So my custom UI will appear only for certain request types (when creating a request type)
The condition should be something like:

portal.id == 1 && requestType.id == 22

Thanks in advance! 

1 answer

0 votes
Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 13, 2021

I'm assuming your fragment is some sort of web panel.

And since you want to display on the create screen, then you probably used a location such as servicedesk.portal.header or subheader.

I gave that a try and outputted all the binding variables to log with 

log.info "\n${binding.variables.collect().join('\n')}"

And I saw the following:

log=org.apache.log4j.Logger@48f09723
serviceDeskId=1
requestType=com.atlassian.servicedesk.internal.feature.customer.request.requesttype.CachedImmutableRequestTypeImpl@ca8cde32
requestTypeId=21
serviceDesk=ServiceDeskImpl{serviceDeskId=1, projectId=24170, ...}
portal=com.atlassian.servicedesk.internal.api.feature.customer.portal.PortalInternal@48b9c211
user=p6s(p6s)
£beanContext=com.onresolve.scriptrunner.beans.BeanFactoryBackedBeanContext@488654da


So requestTypeId == 22 or reuqestType.id == 22 should both work. But maybe to avoid some  errors in other contexts, do it like this:

binding.hasVariable('portal') && 
binding.hasVariable('requestType') &&
portal?.id == 1 && requestType?.id == 22
Dervis Yildiz April 8, 2022

Hi,

I get the error message that the variables portal and requestType are not declared (scriptRunner-Show a web panel). How could I solve it. Could you please help me? Thanks. 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events