如何将基于组或角色的限制添加到YouTrack工作流程中的某些操作?

时间:2019-04-16 13:07:40

标签: javascript workflow youtrack

我创建了一个工作流程,以在添加估算后限制估算值的更改。但是,我想将此权限授予管理员,但限制所有其他组,例如开发人员。

我尝试过isInGroup函数,但是它不能正常工作,并且总是出现异常。

  

var实体= require('@ jetbrains / youtrack-scripting-api / entities');

     

var工作流程= require('@ jetbrains / youtrack-scripting-api / workflow');

     

exports.rule =实体.Issue.onChange({

     

title:'Protect_estimations',

     

guard:function(ctx){

     

if(!ctx.current.isInGroup('Admin')){         return(ctx.issue.fields.oldValue(ctx.Estimation)!== null && ctx.issue.fields.isChanged(ctx.Estimation)=== true); }         返回false; }

     

action:function(ctx){        stream.check(false,'抱歉,您无法更新估算值'); }

     

要求:{       估算:{         类型:entities.Field.periodType,         名称:“ Estimation”       }}});

条件!ctx.current.isInGroup('Admin')不起作用,而其余代码运行良好。我是否需要在“要求”部分添加任何规则才能完成此任务?请提出建议。

1 个答案:

答案 0 :(得分:1)

要解决此问题,建议您改用currentUser属性:

if(!ctx.currentUser.isInGroup('Admin'))...

我希望这会有所帮助。