The Atlassian Community Forums are currently in read-only mode. We will be relaunching on a new platform on September 22 (read more here). We apologize for the extended downtime. For concerns or questions, please email communitymanagers@atlassian.com. See you on the other side, on the new Atlassian Community Forums! :)

×

Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

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

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

0 votes
PD Sheehan
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Champions.
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. 

Sriharsha
Contributor
April 18, 2025

Hi @Ricardo Araya & @Dervis Yildiz -

Use the below condition - 

 

(issue?.projectObject?.key in ["Project 1", "Project 2"]) && (issue?.requestType?.name in ["Request Type 1", "Request Type 2", "Request Type 3"])
Best regards
TAGS
AUG Leaders

Atlassian Community Events