Hello
I am looking for ability to restrict creation of specific issue type for specific users/groups/project.
I found that the easiest solution is a Script runner validator in workflow "create transition"
So I need the condigition:
if
issueType="IssueType" && user who is creating this issue is member Of Role("Project Role") && project is "PROJECTKEY"
returns true, then issue could not be created.
1) issue type condition is
issue.issueTypeObject.name == 'Bug'
2)project role condition is
isUserMemberOfRole('Administrators')
3) I am not able to find condition for project. I tried
issue.getProjectObject().key == "ABCD-123", but it doesn't work.
Is there a possibility to find a project key? I need to merge these three conditions.
Thank you in advance,
Fyodor
Hello Fyodor,
Use the following syntax to grab the project in your condition:
issue.projectObject.key == 'ABCD'
The complete condition would look something like:
issue.projectObject.key == 'ABCD' && isUserMemberOfRole('Administrators') && issue.issueTypeObject.name == 'Bug'
Hope this helped!
Cheers,
// Svante
btw: I re-tagged your question to more correct tags. Hope you don't mind :-)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Svante
Thank you for info.
I need to check three conditions, so it seems I need creat multi-level condition, e.g.
if(issue.issueTypeObject.name == 'Bug'){
if(issue.projectObject.key == 'ABCD'){
if(!isUserMemberOfRole('Administrators')){
invalidInputException = new InvalidInputException("Invalid condition!")
}
}
}
In all others situation issue can be created
Is it possible to put such exression in script runner validator?
regards,
Fyodor
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
import com.opensymphony.workflow.InvalidInputException
if(issue.projectObject.key == 'ProjectA'){
if(issue.issueType.name == 'Task'){
if(!isUserMemberOfRole('Manager')){
invalidInputException = new InvalidInputException("Task can create Manager only!")
}
}
}
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.
hello,
i use cloud version, so i dont know if what i will say applies to your case.
since it is a validator, i believe it does not accept "if" (at least I could't use until now), it is only possible to use jira expressions or something like that.
but you dont need 3 if, because it will only permit the creation (or whatever you are validating) when all is true, right? so you can use all of them ia a single line joined by AND (&&)
issue.projectObject.key == 'ProjectA'
&&
issue.issueType.name == 'Task'
&&
isUserMemberOfRole('Manager')
something like this i believe
and thanks, i was looking for something that could validate if the user has some role in the project!
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.