Jira使用笔记二 ScriptRunner 验证问题创建角色

背景

最近在对公司Jira工作流改造,收到这么一个要求:某些问题类型只有某些角色可以创建。本来是想通过Jira内建的权限控制来处理的。结果点到权限页面,心都凉透了。

好吧,那只能上脚本了。最终使用ScriptRunner的Simple scripted validator完成了需求。

java 复制代码
//查询指定用户在哪些项目中为管理员角色
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 java.util.Collection;
import com.atlassian.jira.user.util.UserManager

ProjectManager projectManager = ComponentAccessor.getProjectManager()
ProjectRoleManager projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager)
UserManager  userManager = ComponentAccessor.getUserManager();
def user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
Project project = issue.getProjectObject();
 
Collection<ProjectRole> projectRoles = projectRoleManager.getProjectRoles(user, project)
for(ProjectRole role:projectRoles){
    log.warn(role.getName())
    if(role.getName() == "产品经理"){
        return true;
    }
}
return false;

配置图如下:

相关推荐
呱呱巨基38 分钟前
Linux 进程控制
linux·c++·笔记·学习
阿恩.7701 小时前
前沿科技计算机国际期刊征稿:电子、AI与网络计算
人工智能·经验分享·笔记·计算机网络·考研·云计算
代码游侠1 小时前
应用——MPlayer 媒体播放器系统代码详解
linux·运维·笔记·学习·算法
悠哉悠哉愿意2 小时前
【EDA学习笔记】电子技术基础知识:基本元件
笔记·嵌入式硬件·学习·eda
不解风水2 小时前
【教程笔记】KalmanFilter
笔记·学习·算法·矩阵·ekf
ZSandGQ2 小时前
简支梁ANSYS加载模拟
经验分享·笔记
❀͜͡傀儡师3 小时前
运维问题排查笔记:磁盘、Java进程与SQL执行流程
java·运维·笔记
QT 小鲜肉3 小时前
【Linux命令大全】001.文件管理之find命令(实操篇)
linux·运维·前端·chrome·笔记
浪子不回头4154 小时前
推理建模学习笔记
笔记·学习
代码游侠4 小时前
应用——基于Linux的音乐播放器项目
linux·运维·笔记·学习·算法