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

问题描述 投票:1回答:1

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

我已经尝试过isInGroup函数,但它没有正常工作,我总是得到一个异常。

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

var workflow = require('@jetbrains/youtrack-scripting-api/workflow');

exports.rule = entities.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); }
      return false;     },

  action: function(ctx) {
     workflow.check(false,'Sorry, you cannot update estimates');   },

  requirements: {
    Estimation: {
      type: entities.Field.periodType,
      name: 'Estimation'
    }   } });

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

javascript workflow youtrack
1个回答
1
投票

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

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

我希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.