js/helpdesk-sla/clear-to-reply-before.js (31 lines of code) (raw):
var entities = require('@jetbrains/youtrack-scripting-api/entities');
exports.rule = entities.Issue.onChange({
title: 'Clear "To reply before" field and remove a tag when issue is not New or Open',
guard: function(ctx) {
var fs = ctx.issue.fields;
return fs.isChanged(ctx.State) && fs.State &&
fs.State.name !== ctx.State.New.name &&
fs.State.name !== ctx.State.Open.name;
},
action: function(ctx) {
var issue = ctx.issue;
issue.fields.ToReply = null;
if (issue.hasTag(ctx.overdue.name)) {
issue.removeTag(ctx.overdue.name);
}
},
requirements: {
State: {
type: entities.State.fieldType,
Open: {},
New: {}
},
ToReply: {
type: entities.Field.dateTimeType,
name: 'To reply before'
},
overdue: {
type: entities.IssueTag
}
}
});