【问题标题】:YouTrack Workflow: Prevent DeletionYouTrack 工作流程:防止删除
【发布时间】:2019-01-14 18:48:27
【问题描述】:

我为基于云的 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');
  }
});

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

【问题讨论】:

    标签: javascript youtrack


    【解决方案1】:

    我推荐一种更简单的方法 - 只需禁用相应角色 (https://www.jetbrains.com/help/youtrack/standalone/Create-and-Edit-Roles.html#editing_existing_roles) 的“删除问题”权限,具有这些角色的用户将无法删除问题。

    对于不能正常工作的 becomeRemoved 属性 - 这是一个已知问题,请关注此票证以接收有关它的进一步更新:https://youtrack.jetbrains.com/issue/JT-29303

    【讨论】:

      【解决方案2】:

      以防其他人偶然发现此问题(引用 https://youtrack.jetbrains.com/issue/JT-55220

      要在删除问题时触发 onChange 规则,您需要在 rule's declaration 中指定 runOn 属性。

      runOn: {
        change: false,
        removal: true
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-29
        • 1970-01-01
        • 2022-06-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多