如何在YouTrack工作流程中禁用修改工作项?

时间:2018-02-13 12:25:46

标签: javascript youtrack

我想阻止YouTrack中的用户在过去修改添加 工作项。他们应该只在当前日添加/修改工作项。

在YouTrack工作流程中,我可以检测到已更改花费的时间事件,并阻止用户添加工作项。但我希望在JavaScript工作流中用户修改工作项时获得一个事件。这是我的代码:

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

exports.rule = entities.Issue.onChange({

  title: workflow.i18n('Disable editing workitems'),

  guard: function(ctx) {
    return ctx.issue.fields.isChanged(ctx.ST);
  },

  action: function(ctx) {
    workflow.check(ctx.issue.workItems.added.isEmpty(), workflow.i18n('You can add/modify workitems only in current day.'));
  },

  requirements: {
    ST: {
      type: entities.Field.periodType,
      name: 'Spent Time'
    }
  }
});

省略日期时间条件......

1 个答案:

答案 0 :(得分:0)

检查ctx.issue.workItems.isChanged并检查ctx.issue.editedWorkItems set的内容。