Javascript YouTrack工作流:防止删除

Javascript YouTrack工作流:防止删除,javascript,youtrack,Javascript,Youtrack,我为一个基于云的YouTrack实例创建了一个非常简单的工作流任务。其思想是防止(停止工作流)删除问题(我们更愿意保留所有问题,即使它们是错误提交的)。代码如下所示 var entities = require('@jetbrains/youtrack-scripting-api/entities'); var workflow = require('@jetbrains/youtrack-scripting-api/workflow'); exports.rule = entities.Is

我为一个基于云的YouTrack实例创建了一个非常简单的工作流任务。其思想是防止(停止工作流)删除问题(我们更愿意保留所有问题,即使它们是错误提交的)。代码如下所示

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

exports.rule = entities.Issue.onChange({
  // TODO: give the rule a human-readable title
  title: 'When-issue-is-deleted',
  guard: function(ctx) {
    return ctx.issue.becomesRemoved;
  },
   action: function(ctx) {
     workflow.check(false, 'Do not remove issues, please');
  }
});

虽然我相信它应该可以工作,但当我尝试删除刚创建的新问题时,没有收到任何错误消息,该问题已被删除。

我建议一种更简单的方法-只需禁用相应角色的“删除问题”权限(),具有这些角色的用户将无法删除问题


至于becomesRemoved属性无法正常工作-这是一个已知的问题,请按照此票据接收进一步的更新:。

以防其他人偶然发现此问题(引用)

要在删除问题时触发onChange规则,需要在中指定
runOn
属性

runOn: {
  change: false,
  removal: true
}