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

This widget could not be displayed.

> 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
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Posted yesterday in Canada

AUG Lunch Roundtable - August 13 - Highlights

Thanks to everyone who came out today for the lunch AUG - we had some great food and discussion (and ice cream sandwiches to fend off the heat!) The welcome and fun fact was great as well, what an aw...

30 views 1 3
View post

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