I copied this script to block some issue types creation for users but not for administrators, but is not working
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.security.roles.ProjectRoleManager
import static com.atlassian.jira.issue.IssueFieldConstants.ISSUE_TYPE
def projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager)
def allIssueTypes = ComponentAccessor.constantsManager.allIssueTypeObjects
def user = ComponentAccessor.jiraAuthenticationContext.loggedInUser
def issueTypeField = getFieldById(ISSUE_TYPE)
def remoteUsersRoles = projectRoleManager.getProjectRoles(user, issueContext.projectObject)*.name
def availableIssueTypes = []
if ("Users" in remoteUsersRoles) {
availableIssueTypes.addAll(allIssueTypes.findAll { it.name in ["Contrato", "Nomina", "Sistemas (SFSF)","Productivity","Health & Safety","MyInfinityPortal","Otros","MyIDTravel" ] })
}
if ("Administrators" in remoteUsersRoles) {
availableIssueTypes.addAll(allIssueTypes.findAll { it.name in ["Contrato", "Nomina", "Sistemas (SFSF)","Productivity","Health & Safety","MyInfinityPortal","Otros","MyIDTravel", "Social Plan"] })
}
issueTypeField.setFieldOptions(availableIssueTypes)
It gives me this error:
ERROR [common.UserScriptEndpoint]: Script console script failed: groovy.lang.MissingMethodException: No signature of method: org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.getFieldById() is applicable for argument types: (String) values: [issuetype] at Script48.run(Script48.groovy:10)
any idea?
Thanks in adavance
Where did you apply this script?
The getFieldById() method is only designed to be used in a Behaviour configuration.
When I copy your script and make no changes other than the list of issue types, it works without issue.
My fault, I was trying to add as a validator in a workflow. As a behaviour it works nice.
Many thanks,
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.