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

Workflow transition's script condition doesn't work.

Sarathi Chatterjee September 21, 2017

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

Suggest an answer

Log in or Sign up to answer
1 vote
Joshua Yamdogo @ Adaptavist
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.
September 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?

JamieA
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.
September 25, 2017

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

Sarathi Chatterjee September 26, 2017

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 :)

JamieA
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.
September 26, 2017

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.

TAGS
AUG Leaders

Atlassian Community Events