0

我有一个(正常工作的)工作流脚本,从这个保护函数开始:

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

exports.rule = entities.Issue.action({
  title: 'Create default subtasks',
  command: 'tt-create-subtasks',
  guard: function(ctx) {
    return ctx.issue.fields.Type.name == 'User Story';
  },

我想我会用类似的东西代替它

return ctx.issue.fields.Type == UserStory;

因此将要求从:

requirements: {
  Type: {
    type: entities.EnumField.fieldType,
    Task: {},
  }
}

到:

requirements: {
  Type: {
    type: entities.EnumField.fieldType,
    Task: {},
    UserStory: {
      name: 'User Story'
    }
  }
}

Task在其他地方以类似的方式使用并且有效

newIssue.fields.Type = ctx.Type.Task;

但是编辑器UserStory在giard功能上给出了红色错误。我在要求中做错了吗?

4

1 回答 1

0

如果您像描述的那样声明要求

requirements: {
  Type: {
    type: entities.EnumField.fieldType,
    Task: {},
    UserStory: {
      name: 'User Story'
    }
  }
}

您将能够通过以下方式检查该值:issue.fields.is(ctx.Type, ctx.Type.UserStory).

于 2021-04-07T18:15:40.707 回答