Создавать сабтаски по команде и открывать их автоматически в браузере

Добавил команду 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 новая задача открывалась в поп-апе/новом окне браузера/в этом же окне браузера? И как?

0
1 comment
Official comment

Добрый день!

Прошу прощения за долгий ответ. Поле Dev Stage не копируется, потому что обращение через точку работает только в контексте текущей задачи. Т.е. в Вашем случае надо использовать следующий код:

newIssue.fields['Dev Stage'] = issue.fields.Dev_Stage;

Что касается предварительного запроса названия для сабтаски, YouTrack не предоставляет такой функциональности из коробки. Единственный вариант - создать дополнительное поле, которое будет содержать это название и запрашивать его при помощи метода required. Таким образом, будет показываться диалоговое окно, позволяющее ввести название.

По поводу пункта 3, открыть задачу в новой вкладке, к сожалению нельзя. 

Надеюсь, это будет полезно. Если появятся дополнительные вопросы - обращайтесь. Всегда будем рады Вам помочь!

Please sign in to leave a comment.