js/wait-for-reply-state/reopen-issue.js (25 lines of code) (raw):

var entities = require('@jetbrains/youtrack-scripting-api/entities'); exports.rule = new entities.Issue.onChange({ title: 'Reopen issue when external user adds comment', guard: function(ctx) { var issue = ctx.issue; return issue.fields.State.name === ctx.State.Wait.name && issue.comments.added.isNotEmpty() && !issue.comments.added.last().author.isInGroup(ctx.developers.name); }, action: function(ctx) { ctx.issue.fields.State = ctx.State.Open; }, requirements: { State: { type: entities.State.fieldType, Wait: { name: 'Wait for Reply' }, Open: {} }, developers: { type: entities.UserGroup } } });