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;

配置图如下:

相关推荐
撩得Android一次心动6 分钟前
Kotlin 语言【知识点整理3】
java·开发语言·笔记·学习·kotlin
Source.Liu8 分钟前
【Dioxus】Dioxus CLI (dx) 命令笔记
笔记·rust·dioxus
CarIise15 分钟前
JavaScript基础语法与DOM操作实战课堂笔记
开发语言·javascript·笔记
pluviophile_s18 分钟前
数据结构:第7讲:图
数据结构·笔记
疯狂打码的少年33 分钟前
【数据库技术】数据库三级模式结构(外模式/模式/内模式)
数据库·笔记·oracle
M78佐菲1 小时前
Linux学习笔记:进程回收、exec函数簇与线程
linux·笔记·学习·算法
商业白皮书2 小时前
用手机怎么拍证件照?光线、机位、姿态和后期制作步骤
笔记
GlueNa2SiO32 小时前
05-Flask表单处理与文件上传
笔记·python·学习·flask
STQY燊桐启元(深圳)电子科技3 小时前
免涂硅脂新时代,ST‑PCMTC96 与 ST‑PCM180 相变陶瓷片重构功率器件热管理
经验分享·笔记·重构·pcm
LuminousCPP3 小时前
数据结构-二叉树(三):堆复杂度证明与 Top-K 问题|错位相减推导 + 海量数据内存优化
c语言·数据结构·笔记·排序算法