Не работает workflow.check в черновике
Здравствуйте.
Обнаружил неприятную особенность.
workflow.check не отображает сообщения, когда issue находится в draft.
var entities = require('@jetbrains/youtrack-scripting-api/entities');
var workflow = require('@jetbrains/youtrack-scripting-api/workflow');
exports.rule = entities.Issue.onChange({
title: 'test',
guard: function(ctx) {
return ctx.issue.fields.isChanged(ctx.Assignee) && ctx.issue.fields.Assignee;
},
action: function(ctx) {
workflow.check(false, 'Сообщение');
},
requirements: {
Assignee: {
name: 'Исполнитель',
type: entities.User.fieldType
}
}
});
Please sign in to leave a comment.
Михаил,
Спасибо за информацию. У вас достаточно старая версия YouTrack, и она действительно содержит описанную проблему.
Для получения фикса Вам необходимо обновиться до версии 2019.2, билд 55152 или выше.
Сообщите, если у Вас останутся дополнительные вопросы.
Михаил, приветствую.
Правильно ли я понимаю, что приведенный код срабатывает на созданных задачах, но не срабатывает на этапе работы с черновиком(до нажатия кнопки создания задачи)?
Я скопировал Ваш код в отдельный рабочий процесс к себе на локальный инстанс, и при смене исполнителя сообщение выводится в обоих случаях. В связи с этим, не могли бы Вы:
1. Уточнить точную версию системы?
2. Вставить тестовый вывод в консоль вначале секции action и сообщить, работает ли он в случае работы с черновиком?
Спасибо.
Здравствуйте, Леонид.
Спасибо за ответ.
1. Баг-трекер от JetBrains YouTrack 2018.4
Сборка49852ср, 20 февр. 2019 г., 15:14:39 UTC
2. Работает с черновиком. После workflow.check падает.
3. Сообщение об ошибки из консоли браузера:
Possibly unhandled rejection: {"data":{"error":"Assertion failed","error_description":"Сообщение","error_type":"workflow","error_workflow_type":"assert","error_rule_name":"newtest/assignee_change","error_issue_id":"73-632832","error_issue_is_draft":true},"status":400,"config":{"method":"POST","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","headers":{"If-Unmodified-Since":"Tue, 13 Oct 2020 10:08:26 GMT","Accept":"application/json, text/plain, */*","Content-Type":"application/json;charset=utf-8","Authorization":"Bearer 1602587287494.49f406a0-6ef6-4701-8eab-6ef4898c9f4a.be66ce57-38a4-4773-a4bd-101bcbd3b38e.49f406a0-6ef6-4701-8eab-6ef4898c9f4a 0-0-0-0-0;1.MCwCFAnj5bZK+855aLn9pOLdIBF+hI2lAhRW2qVVFknB7dP/Qgyc959mO0Wyrg=="},"data":{"summary":null,"description":null,"usesMarkdown":false,"project":{"ringId":"71927ac6-2507-46ff-85df-f118890237cf","shortName":"NEWTEST","plugins":{"$type":"jetbrains.charisma.persistent.ProjectPlugins","vcsIntegrationSettings":{"processors":[],"$type":"jetbrains.youtrack.integration.gaprest.ProjectVcsIntegrationSettings"},"timeTrackingSettings":{"timeSpent":null,"enabled":false,"estimate":null,"$type":"jetbrains.youtrack.timetracking.gaprest.ProjectTimeTrackingSettings"}},"name":"NEWTEST","id":"68-126","$type":"jetbrains.charisma.persistent.Project"},"visibility":{"$type":"jetbrains.charisma.persistent.visibility.UnlimitedVisibility"},"fields":[{"projectCustomField":{"bundle":{"id":"71-242","$type":"jetbrains.charisma.customfields.complex.user.UserBundle","name":"NEWTEST: Исполнитель","isUpdateable":true},"emptyFieldText":"Нет исполнителя","ordinal":0,"isPublic":true,"canBeEmpty":true,"field":{"fieldType":{"valueType":"user","isMultiValue":false,"$type":"jetbrains.charisma.customfields.rest.FieldType"},"ordinal":3,"localizedName":"Исполнитель","name":"Assignee","id":"34-5","$type":"jetbrains.charisma.customfields.rest.CustomField"},"id":"70-313","$type":"jetbrains.charisma.customfields.complex.user.UserProjectCustomField"},"value":null,"name":"Assignee","id":"70-313","$type":"jetbrains.charisma.customfields.complex.user.SingleUserIssueCustomField"}]},"url":"https://youtrack.lg.lan/api/admin/users/me/drafts/73-632832","params":{"$top":-1,"fields":"$type,attachments($type,author(fullName,id,ringId),comment(id),created,id,imageDimension(height,width),issue(id,project(id,ringId)),mimeType,name,removed,size,thumbnailURL,url,visibility($type,implicitPermittedUsers($type,avatarUrl,email,fullName,id,isLocked,issueRelatedGroup(icon),login,name,online,ringId),permittedGroups($type,allUsersGroup,icon,id,name,ringId),permittedUsers($type,avatarUrl,email,fullName,id,isLocked,issueRelatedGroup(icon),login,name,online,ringId))),comments(attachments($type,author(fullName,id,ringId),comment(id),created,id,imageDimension(height,width),issue(id,project(id,ringId)),mimeType,name,removed,size,thumbnailURL,url,visibility($type,implicitPermittedUsers($type,avatarUrl,email,fullName,id,isLocked,issueRelatedGroup(icon),login,name,online,ringId),permittedGroups($type,allUsersGroup,icon,id,name,ringId),permittedUsers($type,avatarUrl,email,fullName,id,isLocked,issueRelatedGroup(icon),login,name,online,ringId))),id),created,created,description,eventSourceTicket,fields($type,hasStateMachine,id,id,name,projectCustomField($type,bundle(id),canBeEmpty,emptyFieldText,field(fieldType(isMultiValue,valueType),id,localizedName,name,ordinal),id,isPublic,ordinal,size),value($type,avatarUrl,buildLink,color(id),fullName,id,isResolved,localizedName,login,markdownText,minutes,name,presentation,ringId,text)),hiddenAttachmentsCount,id,idReadable,isDraft,numberInProject,project($type,id,name,plugins(timeTrackingSettings(enabled,estimate(field(id,name),id),timeSpent(field(id,name),id)),vcsIntegrationSettings(processors(enabled,url,upsourceHubResourceKey,server(enabled,url)))),ringId,shortName),reporter($type,avatarUrl,email,fullName,id,isLocked,issueRelatedGroup(icon),login,name,online,ringId),resolved,resolved,summary,tags(color(id),id,name,owner(id),query),updated,usesMarkdown,visibility($type,implicitPermittedUsers($type,avatarUrl,email,fullName,id,isLocked,issueRelatedGroup(icon),login,name,online,ringId),permittedGroups($type,allUsersGroup,icon,id,name,ringId),permittedUsers($type,avatarUrl,email,fullName,id,isLocked,issueRelatedGroup(icon),login,name,online,ringId)),voters(hasVote),votes,watchers(hasStar),watchers(hasStar),wikifiedDescription,wikifiedDescription"}},"statusText":"Bad Request"} vendor.2e8abba6f361e3e8eb7e.js:21:61990
i https://youtrack.lg.lan/static/vendor.2e8abba6f361e3e8eb7e.js:21
get https://youtrack.lg.lan/static/vendor.2e8abba6f361e3e8eb7e.js:21
u https://youtrack.lg.lan/static/vendor.2e8abba6f361e3e8eb7e.js:21
$digest https://youtrack.lg.lan/static/vendor.2e8abba6f361e3e8eb7e.js:21
$apply https://youtrack.lg.lan/static/vendor.2e8abba6f361e3e8eb7e.js:21
l https://youtrack.lg.lan/static/vendor.2e8abba6f361e3e8eb7e.js:21
i https://youtrack.lg.lan/static/vendor.2e8abba6f361e3e8eb7e.js:21
n https://youtrack.lg.lan/static/vendor.2e8abba6f361e3e8eb7e.js:21