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

restrict a element with ScriptRunner fragment not working

Marco Brundel
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 Leaders.
June 4, 2021

Hi,

I'm currently working on implementing a solution for a Jira Server environment, and need a certain UI element is only visible on issues In project ITS, with priority 'P1 - Blocking’ or ‘P2 - Hoge prioriteit’ and the user must be a member of the group Resource - Jira SenP or Resource - Jira MT or Resource - Jira PM

I’ve configured a Scriptrunner Fragment for this case.

The element is only shown to user that are member of the group Resource - Jira SenP or Resource - Jira MT or Resource - Jira PM but project and priority are not taken into account.

I use the following code, what mistake am I making in this script?

jiraHelper.project?.key == "ITS" &&
issue.priority?.name in ['P1 - Blocking','P2 - Hoge prioriteit']
import com.atlassian.jira.component.ComponentAccessor
def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
(ComponentAccessor.getGroupManager().getGroupsForUser(currentUser)?.find {it.name in ["Resource - Jira SenP","Resource - Jira MT","Resource - Jira PM"]})

 

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
0 votes
Answer accepted
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.
June 4, 2021

In the current version of your script, you have 2 separate conditions in 2 separate lines, but only the last one counts.

Maybe rearrange things a little like this:

import com.atlassian.jira.component.ComponentAccessor
def currentUser = ComponentAccessor.jiraAuthenticationContext.loggedInUser

def projectList= ['ITS']
def priorityList = ['P1 - Blocking','P2 - Hoge prioriteit']
def groupList = ["Resource - Jira SenP","Resource - Jira MT","Resource - Jira PM"]

def isInProjectList= jiraHelper.project?.key in projectList
def isInPriorityList = issue.priority?.name in priorityList
def isInGroupList = ComponentAccessor.groupManager.getGroupsForUser(currentUser).any{it.name in groupList}

isInProjectList && isInPriorityList && isInGroupList
Marco Brundel
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 Leaders.
June 7, 2021

Hi @Peter-Dave Sheehan

Thanks for your reply. With this rearrange it works.

Regards, Marco

TAGS
AUG Leaders

Atlassian Community Events