I am trying to return a Project Role as part of a script that is ultimately going to provide the Project Role Actors for a given Project Role in a specified project. My script keeps getting:
groovy.lang.MissingMethodException: No signature of method: static com.atlassian.jira.security.roles.ProjectRoleManager.getProjectRole() is applicable for argument types: (java.lang.String) values: [Operations Manager]
OR
groovy.lang.MissingMethodException: No signature of method: static com.atlassian.jira.security.roles.ProjectRoleManager.getProjectRole() is applicable for argument types: (java.lang.Integer) values: [10200]
depending on whether I pass the variable roleId or roleName to he function.
The script currently looks like :
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.project.Project import com.atlassian.jira.project.ProjectManager import com.atlassian.jira.security.roles.ProjectRole import com.atlassian.jira.security.roles.ProjectRoleActors import com.atlassian.jira.security.roles.ProjectRoleManager import com.atlassian.jira.issue.customfields.manager.OptionsManager def customFieldManager = ComponentAccessor.getCustomFieldManager() def projectManager = ComponentAccessor.getProjectManager() //def projectRoleManager = ProjectRoleManager.getProjectRoleManager() //def componentManager = ComponentAccessor.getInstance() //def optionsManager = ComponentManager.getComponentInstanceOfType(OptionsManager.class) //def customFieldManager = componentManager.getCustomFieldManager() def cf = customFieldManager.getCustomFieldObjectByName("Affected Project") def roleProject = issue.getCustomFieldValue(cf) // added this line def project = issue.getProjectObject() // long roleId = 10200 def roleName = "Operations Manager" //def project = projectManager.getProjectObjByName(String roleProject) def projectRole = ProjectRoleManager.getProjectRole(roleId) // changed roleProject to project def projectRoleActors = ProjectRoleManager.getProjectRoleActors(projectRole, project) return roleProject
Can you please explain what I am doing wrong?
Maybe it's not static, so you need to instantiate a ProjectRoleManager. I use this:
ProjectRoleManager projectRoleManager = ComponentManager.getComponentInstanceOfType(ProjectRoleManager.class) as ProjectRoleManager ProjectRole devsRole = projectRoleManager.getProjectRole("Developers")
There's probably a cleaner way to do it, I just pulled that off the net somewhere.
Use ComponentAccessor.getComponent(...) but otherwise yes that's the problem. You can tell by:
No signature of method: static com.atlassian.jira.security.roles.ProjectRoleManager.getProjectRole()
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.