@Max737

Почему не работает Groovy Script не рабтает в Scriptrunner?

Я написал groovy скрипт для пересчета значения числового поля в родительской заявке при изменении поля в его дочерней заявке. Проверил его в консоле Groovy, все работает нормально, однако при подстановке его в Console Scriptrunner скрипт перестает работать и выдает кучу ошибок (например: No such property: issutype for class: com.atlassian.jira.issue.Issue
Possible solutions: issueType. issueTypeId
Connot find matching method com.atllasian.jira.issue.Issue)
Текст скрипта:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.Issue

def subTaskSum=0
issue.getSubTaskObjects().findAll{it.issuetype.name == "Этап/Заявка" && it.status.name in ["Подписан", "Закрыт"]}.each{subTaskSum += it.get("customfield_13203")}
issue.setFieldValue("customfield_13302", subTaskSum)
return issue.get("customfield_13302")
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Arty_Fact
Не знаю, что такое "консоль Groovy" и что там работает нормально. Но у Issue действительно нет метода getIssuetype(), но есть getIssueType(). Поэтому необходимо писать issueType.name.

Также я не знаю, что за метод setFieldValue. У MutableIssue такого нет. А setCustomFieldValue не сохраняет информацию в базе, а просто проставляет значение в объекте.

Но в целом, подход не самый оптимальный, лучше для этого использовать вычисляемое поле, чтобы информация была всегда актуальной.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы