js/mailbox-enhancements/reopen-show-stopper-on-new-comment.js (43 lines of code) (raw):

var entities = require('@jetbrains/youtrack-scripting-api/entities'); exports.rule = entities.Issue.onChange({ title: 'Reopen show-stopper on new comment', guard: function(ctx) { return ctx.issue.comments.added.isNotEmpty(); }, action: function(ctx) { var issue = ctx.issue; if (issue.isResolved && issue.Priority.name === ctx.Priority.ShowStopper.name && issue.Type.name === ctx.Type.Bug.name) { issue.tags.forEach(function(tag) { if (tag.name === 'mailbox') { issue.State = ctx.State.Open; } }); } issue.tags.forEach(function(tag) { if (tag.name === 'mailbox') { issue.applyCommand('remove tag mailbox', ctx.currentUser); } }); }, requirements: { State: { type: entities.State.fieldType, Open: { name: 'Open' } }, Type: { type: entities.EnumField.fieldType, Bug: { name: 'Bug' } }, Priority: { type: entities.EnumField.fieldType, ShowStopper: { name: 'Show-stopper' } } } });