groovy runner validator:limit to specified permission using Script Validator

i want to limit specified people(who is assignee or with 'SWTL' role or wiht 'Administer Projects' permission) to Resolve Issues.

the first two condition i have test OK :

currentUser == issue.assignee || isUserMemberOfRole('SWTL')

the third one ,i try to use hasPermission('Administer Projects') in Condition Tester

returns:

javax.script.ScriptException: groovy.lang.MissingMethodException:

No signature of method: org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.hasPermission() is applicable for argument types:

(java.lang.String) values: [Administer Projects]

anyone knows the correct syntax of permission validator in groovy runner?

1 answer

1 accepted

0 vote

> anyone knows the correct syntax of permission validator in groovy runner?

You mean the correct API to use in either java or groovy? There is no "different API" for groovy by the way.

import com.atlassian.jira.security.Permissions

componentManager.getPermissionManager().hasPermission(Permissions.ADMINISTER, currentUser)

(untested)

hi,Jamie

what i want is Builtin Scripts of Groovy runner Plugin.

You can use what I gave you for that

Thanks very much ,Jamie

i used below code ,and succeed.

import com.atlassian.jira.ComponentManager

import com.atlassian.jira.security.Permissions

ComponentManager componentManager = ComponentManager.getInstance()

currentUser == issue.assignee || isUserMemberOfRole('SWTL') || componentManager.getPermissionManager().hasPermission(Permissions.PROJECT_ADMIN,issue, currentUser)

i have to add " import com.atlassian.jira.ComponentManager" and "ComponentManager componentManager = ComponentManager.getInstance()" ,otherwise in Condition Tester will returns

javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: componentManager for class: Script23

in com/onresolve/jira/groovy/canned/utils/ConditionUtils.groovy of Groovy Runner Plugin

has already define "ComponentManager componentManager = ComponentManager.getInstance()",i am wonder why i have to redefine 'componentManager' ?

Yeah you're correct, I probably only add componentManager to the binding recently, and was working with a newer version than you have.

thansk Jamie.

my jira version is 4.4.1 and installed groovy runner version 2.0.7

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published 6 hours ago in Off-topic

Get to know our Atlassian User Group Leaders from Bengaluru, India

Meet @Dinesh Dhinakaran, @Vishnu Vasudeva, @Rajeev Verma, and Jamshid Nalakath: Our extraordinary AUG leaders from Bengaluru, India. These four work together to strengthen the bonds of their local co...

77 views 0 4
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you