@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")
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Arty_Fact
Не знаю, что такое "консоль Groovy" и что там работает нормально. Но у Issue действительно нет метода getIssuetype(), но есть getIssueType(). Поэтому необходимо писать issueType.name.

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

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

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

Похожие вопросы