js/helpdesk-sla/replied-issue-sla.js (24 lines of code) (raw):

var entities = require('@jetbrains/youtrack-scripting-api/entities'); var timeOp = require('./time-operations'); // Number of business hours to reply to the replied issue. var REPLIED_ISSUE_SLA = 4; exports.rule = entities.Issue.onChange({ title: 'Replied Issue SLA', guard: function(ctx) { var comments = ctx.issue.comments; return comments.added.isNotEmpty() && comments.added.last().author.login === ctx.helpdeskBot.login; }, action: function(ctx) { ctx.issue.fields.ToReply = timeOp.addBusinessHours(Date.now(), REPLIED_ISSUE_SLA); }, requirements: { ToReply: { type: entities.Field.dateTimeType, name: 'To reply before' }, // This is the user which is set as reporter in mail rule settings: helpdeskBot: { type: entities.User, login: 'helpdesk-bot' } } });