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
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!
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.