Restricting Issue Types is not working

Oscar Junyent Matabosch May 25, 2020

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

1 answer

1 accepted

0 votes
Answer accepted
Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 25, 2020

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.

Oscar Junyent Matabosch May 26, 2020

My fault, I was trying to add as a validator in a workflow. As a behaviour it works nice.

 

Many thanks,

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events