为什么我不能访问 'User story' 作为类型?

Why can't I access 'User story' as a type?

我有一个(正确工作的)工作流程脚本,以这个保护函数开头:

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;

但是编辑器在giard函数的UserStory上给出了红色错误。我在要求中做错了什么吗?

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

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

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