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;

配置图如下:

相关推荐
d111111111d16 小时前
STM32 GPIO输出模式配置详解:从寄存器层面理解引脚控制
笔记·stm32·单片机·嵌入式硬件·学习
virtual_k1smet1 天前
梧桐·鸿鹄- 大数据assistant-level
大数据·笔记
星轨初途1 天前
郑州轻工业大学2025天梯赛解题
c++·经验分享·笔记·算法·链表·剪枝
阿波罗8号1 天前
《一本书读懂支付》
笔记
顽强卖力1 天前
第二章:什么是数据分析师?
笔记·python·职场和发展·学习方法
北岛寒沫1 天前
北京大学国家发展研究院 经济学辅修 经济学原理课程笔记(第十五章 劳动力市场)
经验分享·笔记·学习
丝斯20111 天前
AI学习笔记整理(37)——自然语言处理的基本任务
人工智能·笔记·学习
代码游侠1 天前
复习——网络基础知识
网络·笔记·网络协议·算法·http
我命由我123451 天前
Photoshop - Photoshop 工具栏(46)渐变工具
经验分享·笔记·学习·ui·职场和发展·学习方法·photoshop
diegoXie1 天前
【R】tidyr::pivot_longer / pivot_wider 学习笔记
笔记·学习·r语言