Workflow transition's script condition doesn't work.

Hi,

 

I want to restrict my transition (Approve / Deny) based on which group the current user is a member of.

In order to achieve this I am using the script below 

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue

def groupManager = ComponentAccessor.getGroupManager()

def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()

groupManager.isUserInGroup(currentUser, "Murex Task Team")

 

The script returns true/ false when I change the group and when I run this in script console, as expected.

But when I add it to the Workflow Transition condition it always evaluates to true allowing me to complete the transition irrespective of the group specified , please can you suggest what's wrong with the script?

 

I know I can use the build in "User Is In Group "condition  to do this, but I want to extend this to pickup the group name from a Custom field on the issue therefore I am trying this method.

Thanks 

Sar

 

 

1 answer

1 vote
Joshua Yamdogo Community Champion Sep 22, 2017

Hi Sar,

Which version of SR and JIRA are you using? This script works fine for me. Have you made sure that you added the validator to the correct workflow step?

Could you try adding a logging statement to see which groups the currentUser is in?

import com.atlassian.jira.component.ComponentAccessor
def groupManager = ComponentAccessor.getGroupManager()
def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
log.debug(groupManager.getGroupNamesForUser(currentUser))
groupManager.isUserInGroup(currentUser, "Murex Task Team")

 What is output to the log after using this script as a validator?

Make sure you are using Simple Scripted Condition, or Simple Scripted Validator.  A screenshot would help.

Guys,

I am so sorry for not replying earlier.

The reason it was not working was because I was using Custom script condition  instead of Simple scripted condition.

All good now.
Thank you :)

Custom script condition should work, except if you're on an old version of the plugin. If you are, you need to set passesCondition to a boolean. Simple scripted condition is easier.

Suggest an answer

Log in or Join to answer
Community showcase
Teodora [Botron]
Published Feb 15, 2018 in Marketplace Apps

Jira Inferno: The Nine Circles of Jira Administration Hell

If you spend enough time as a Jira admin - whether you are managing a single, mid-sized instance, a large enterprise one or juggling multiple instances at once - you will eventually find yourself in ...

1,134 views 6 19
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
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot