I tried the following code snipped, but it looks like there are serveral issues with that. The requirements do not work. The guard is not correct, and I also do not get the correct start date of the sprint. I am fairly new to youtrack and maybe I do not fully understand this api. Kindly ask for help.
const entities = require('@jetbrains/youtrack-scripting-api/entities');
const workflow = require('@jetbrains/youtrack-scripting-api/workflow');
exports.rule = entities.Issue.onChange({
title: 'Set StartDate to Sprint Start Date',
guard: (ctx) => {
return ctx.issue.fields.isChanged(ctx.Sprints);
},
action: (ctx) => {
const issue = ctx.issue;
if (issue.fields.Sprints.isNotEmpty()) {
const sprint = issue.fields.Sprints.iterator().next();
const startDate = sprint.startDate;
issue.fields.StartDate = startDate;
workflow.message('Start date set to {0}', startDate);
}
},
requirements: {
Sprints: {
type: entities.EnumField.fieldType,
name: 'Sprints',
isMultiValue: true
},
StartDate: {
type: entities.Field.dateTimeType,
name: 'StartDate'
}
}
});