Создавать сабтаски по команде и открывать их автоматически в браузере Follow
Добавил команду create subtask:
var entities = require('@jetbrains/youtrack-scripting-api/entities');
exports.rule = entities.Issue.action({
title: 'Create subtask',
command: 'Create subtask',
guard: function(ctx) {
var issue = ctx.issue;
return issue.isReported &&
issue.fields.Type.name === ctx.Type.Feature.name;
},
action: function(ctx) {
var issue = ctx.issue;
var newIssue = new entities.Issue(ctx.currentUser, issue.project, ' ');
newIssue.fields.Type = ctx.Type.Task;
newIssue.fields.Stage = issue.fields.Stage;
newIssue.fields.Dev_Stage = issue.fields.Dev_Stage;
newIssue.fields.State = ctx.State.To_do;
newIssue.links['subtask of'].add(issue);
},
requirements: {
Type: {
type: entities.EnumField.fieldType,
Feature: {},
Task: {}
},
Stage: {
type: entities.State.fieldType
},
Dev_Stage: {
name: 'Dev Stage',
type: entities.State.fieldType
},
State: {
type: entities.EnumField.fieldType,
To_do: {
name: 'To do'
}
}
}
});
1. Почему-то не копируется значение поля Dev Stage, а проставляется значением по умолчанию.
2. Можно ли сделать, чтобы при выполнении Create subtask сначала запрашивалось название для сабтаски? И как?
3. Можно ли сделать так, чтобы при выполнении Create subtask новая задача открывалась в поп-апе/новом окне браузера/в этом же окне браузера? И как?
Please sign in to leave a comment.
Добрый день!
Прошу прощения за долгий ответ. Поле Dev Stage не копируется, потому что обращение через точку работает только в контексте текущей задачи. Т.е. в Вашем случае надо использовать следующий код:
Что касается предварительного запроса названия для сабтаски, YouTrack не предоставляет такой функциональности из коробки. Единственный вариант - создать дополнительное поле, которое будет содержать это название и запрашивать его при помощи метода required. Таким образом, будет показываться диалоговое окно, позволяющее ввести название.
По поводу пункта 3, открыть задачу в новой вкладке, к сожалению нельзя.
Надеюсь, это будет полезно. Если появятся дополнительные вопросы - обращайтесь. Всегда будем рады Вам помочь!