Attempting to update a "Repositories" enum field based on comments containing strings - getting errors
Hi,
We have a field on all our projects called "Repositories" which is an enum field with all the 280 repositories we maintain (and growing).
When our teams work on a ticket in YouTrack, they may add a pull request to the card (multiple in fact - for us, a story can span multiple repositories).
I've tried to create a workflow that identifies if a Pull Request has been added to a YouTrack card comment, and if it has, add the corresponding Repo name to the Repositories field.
Currently, this yields an error.
The workflow is attached below, and the error is as follows.
I've identified the breaking change is the "Repositories.add(repo_name)" line. I've tested the workflow using a Pull requests contained in the array of values, and with an extracted repo_name value thyat matches an existing Value in the fieldset.
I do not want to write a script that has 280 if statements.
Please sign in to leave a comment.
Orrin, I'm sorry for the delay.
Please try to replace the highlighted code line with
Let us know the results. Thanks!
It's an enum that accepts multiple values - Should I change it to be "issue.applyCommand("add Repositories " + repo_name)?
Does this also create the value in the fieldset if it does not exist? That would be ideal.
1) Yes, you need to add the 'add' keyword if you have a multivalue field.
2) Yes, the value will be added if it doesn't exist, but only if the current user has enough permissions. To make sure that there always are sufficient permissions, you can set a second `runAs` argument: https://www.jetbrains.com/help/youtrack/incloud/2017.2/Workflow-Language-Methods.html#applyCommand
Столкнулся с той же проблемой, но команда issue.applyCommand( ("add Repositories: " + repo_name)); не работает.
(Command [add Repositories: Проект] is invalid:, , Unknown command: требуется имя или значение поля: Repositories: Проект,)
Подскажите, что то изменилось?
I Orazov, здравствуйте.
Такая ошибка может возникнуть в нескольких случаях. Проверьте, пожалуйста, следующее: если поле "Repositories" single-value, то уберите из команды слово "add", если multi-value - проверьте, что в нём есть значение "Проект".
Дело в том что я хотел создать новую запись в Repositories, это возможно?
Или есть другой способ добавить новую запись в Repositories, в workflow?
Можно добавить новое значение поля с помощью метода createValue, и уже после этого менять на него значение поля в задаче.
А можете подсказать пример как в настраиваемое поле Repositories добавить новое значение с помощью createValue? Я не смог разобраться и примеров не нашел.
Я Вам уже ответила в рамках Вашей заявки, но продублирую свой ответ здесь, чтобы другие пользователи также могли его увидеть.
Пример кода: