scriptRunner部分功能实例讲解(Jira插件脚本实例)
scriptRunner插件可在jira工作流跳转阶段执行自定义的脚本,以下脚本用于在工作流跳转阶段,执行脚本实例实现错误提示的功能以下实例只在jira6版本中测试过,可用,其他高版本未进行测试
用户类实例
//查询指定用户在哪些项目中为管理员角色
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.security.roles.ProjectRoleManager
import com.atlassian.jira.project.ProjectManager
import java.util.List;
import com.atlassian.jira.project.Project
import com.atlassian.jira.security.roles.ProjectRole
import java.util.Collection;
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.user.util.UserManager
ProjectManager projectManager = ComponentAccessor.getProjectManager()
ProjectRoleManager projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager)
UserManager userManager = ComponentAccessor.getUserManager();
ApplicationUser user = userManager.getUserByName("user_name");
List<Project> allProjects = projectManager.getProjectObjects()
def adminProjects = []
for(int i=0;i<allProjects.size();i++){
Collection<ProjectRole> projectRoles = projectRoleManager.getProjectRoles(user, allProjects.get(i))
ProjectRole[] tempRoles = projectRoles.toArray();
for(ProjectRole role:tempRoles){
if(role.getName() == "Administrators"){
adminProjects.push(allProjects.get(i).getName())
}
}
}
return (adminProjects)
//获取项目某个角色的成员列表
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.security.roles.ProjectRoleManager
import com.atlassian.jira.project.ProjectManager
import com.atlassian.jira.project.Project
import com.atlassian.jira.security.roles.ProjectRole
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.user.util.UserManager
import com.atlassian.jira.security.roles.RoleActor
import com.atlassian.crowd.embedded.api.User
ProjectRoleManager projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager);
ProjectManager projectManager = ComponentAccessor.getProjectManager();
Project project = projectManager.getProjectObjByName("project name")