You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
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.