(Scriptrunner)To restrict different Role in Workflow for Same Transition name?

Danish Hussain Sabunwala
Contributor
May 19, 2021

Hi Team,

I need to provide different condition to Workflow such that I can give different role to same transition through status.

Example : Let '#' be Status and '->' be transition.

a) #ReadyForProd ->BackToDev #InDev : For the following transition Role must be 'R1'.

b) #DevReady ->BackToDev #InDev : For the following transition Role must be 'R2'.

Notice both have same transition name.

How can I approach the following with the help of Scriptrunner?

I tried the following script under Conditons->Scriptrunner Script in Workflow.

    "user.getProjectRoles(project).map(p => p.name).includes("R1")"

but it restricts the role throughout both a and b and not just a.

If not possible through Scriptrunner, please suggest another approach?

Thanks and regards,

Danish Hussain

1 answer

1 vote
Max Lim _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.
May 23, 2021

Assuming you have a simplified workflow and you are using Simple Scripted Validator, under condition use:

import com.atlassian.jira.component.ComponentAccessor 
import com.atlassian.jira.security.roles.ProjectRoleManager

def prm = ComponentAccessor.getComponent(ProjectRoleManager)
def status = issue.status.name
def isR1 = prm.isUserInProjectRole(currentUser, prm.getProjectRole("R1"), issue.projectObject)
def isR2 = prm.isUserInProjectRole(currentUser, prm.getProjectRole("R2"), issue.projectObject)

return (status == "ReadyForProd" && isR1) || (status == "DevReady" && isR2)

I hope this helps!

Danish Hussain Sabunwala
Contributor
May 24, 2021

Hello ,
Sorry to not put this in the Question but I am actually using jira cloud and not jira server.

I believe the above script would work fine over the server but not on the cloud.

Thanks and Regards,

Danish Hussain Sabunwala

Suggest an answer

Log in or Sign up to answer