Forums

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

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
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 Leaders.
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 @PD Sheehan

Thanks for your reply. With this rearrange it works.

Regards, Marco

TAGS
AUG Leaders

Atlassian Community Events