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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.