用scriptrunner实现JIRA流程的根据字段值进行状态转换的权限控制

需求:根据JIRA项目的某字段test_field里的值,允许某些人员进行指定状态“转换”操作。如当test_field的值为test1,test2时,允许test_user进行从“提交评审”状态到“审批通过”状态的“审批”操作。常用场景如,特定项目模块,需要特定的审批人进行审批等。

实现方案:编辑工作流,选择需要进行限制的转换,如“审批”,选择“验证器”,“添加验证器”,选择“Simple scripted validator [ScriptRunner]”,写个note,如“transition_controller”,在“condition”里写上控制脚本,如下:

import com.atlassian.jira.component.ComponentAccessor

def targetField=issue.getCustomFieldValue(customFieldManager.getCustomFieldObject("customfield_11111")).value

def currentUser = ComponentAccessor.jiraAuthenticationContext.loggedInUser;

if (targetField in ["test1","test2"]) {

    if (currentUser.name in ["test_user"]) {      

       return true      

    } else {        

        return false      

    }   

} else {    

    return true    

}

然后在“Error Message”中,写上错误提示信息,如“该操作只能是test_user操作”。

注意:targetField也可以用issue.getCustomFieldValue("test_field").value来获取,但是最好用customfield_XXXX这种,避免字段名重复的问题,因为只有ID是唯一的。ID的获取方法:

进入“jira管理”,“问题”,在“自定义字段”中,找到目标字段,“编辑”,在页面的url最后部分就是该字段的ID,如:https://test_jira.test.com/secure/admin/EditCustomField!default.jspa?id=10461.

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值