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;

配置图如下:

相关推荐
Jackyzhe4 小时前
Flink学习笔记:整体架构
笔记·flink
徒 花5 小时前
初级网安作业笔记1
笔记
kfepiza5 小时前
Debian-10编译安装Mysql-5.7.44 笔记250706
linux·数据库·笔记·mysql·debian·bash
Magnetic_h5 小时前
【iOS】方法与消息底层分析
笔记·学习·macos·ios·objective-c·cocoa
今天背单词了吗9805 小时前
算法学习笔记:19.牛顿迭代法——从原理到实战,涵盖 LeetCode 与考研 408 例题
笔记·学习·算法·牛顿迭代法
DKPT7 小时前
Java设计模式之行为型模式(观察者模式)介绍与说明
java·笔记·学习·观察者模式·设计模式
xian_wwq9 小时前
【学习笔记】Nginx常用安全配置
笔记·学习·nginx
love-self-discipline11 小时前
带货视频评论洞察 Baseline 学习笔记 (Datawhale Al夏令营)
人工智能·笔记·学习
蜡笔小电芯11 小时前
【STM32】const 变量存储学习笔记
笔记·stm32·学习
金心靖晨12 小时前
笔记-极客-DDD实战-基于DDD的微服务拆分与设计
java·笔记·微服务