This workflow requires that every reporter sets a due date for resolving an issue and notifies the assignee when an issue is overdue.
To use this workflow, you should either add a Due Date field to your project or create another date-type field and modify the reference to the Due Date field in the default workflow.
This workflow was originally taken from a submitted request (JT-5998).
The user who submitted this issue wanted to make a field required for all new issues so that it could be used as the basis for a report.
Rules
The first module contains a rule that prevents the creation of an issue unless the due date is set. If the Due Date field is empty, a warning is displayed.
First, the rule verifies that the issue has not been reported. This means the warning is displayed when the user is still creating the issue or working with an issue draft. If true, it checks for a value in the Due Date field with the required method.
If the Due Date field is empty, a warning is displayed. The required field is highlighted. The user cannot create the issue.
If the Due Date is set, the user can create the issue.
const entities = require('@jetbrains/youtrack-scripting-api/entities');
const workflow = require('@jetbrains/youtrack-scripting-api/workflow');
exports.rule = entities.Issue.onChange({
title: 'Require due dates for submitted issues',
guard: (ctx) => {
return ctx.issue.becomesReported;
},
action: (ctx) => {
ctx.issue.fields.required(ctx.DueDate, 'You must set the Due date!');
},
requirements: {
DueDate: {
type: entities.Field.dateType,
name: 'Due Date'
}
}
});
Notify assignee about overdue issues
The second module contains a rule that checks the value in the Due Date field at 10:00. If the issue is overdue and unassigned, notification is sent to the project owner (referenced here as issue.project.leader). If the issue is assigned, notification is sent to the assignee.