Ошибка в пост-функции нестандартного скрипта Jira - PullRequest
1 голос
/ 30 мая 2019

Я пытаюсь создать функцию публикации, которая будет создавать подзадачи при создании проблемы. Я пытаюсь создать функцию публикации, которая будет создавать подзадачи при создании задачи. Количество подзадач зависит от количества заполненных пользовательских полей. Сейчас есть только два поля [14098,14099], но тогда их может стать больше. Jira v.6.3.10

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue

def constantManager = ComponentAccessor.getConstantsManager()
def issueManager = ComponentAccessor.getIssueManager()
def issueFactory = ComponentAccessor.getIssueFactory()
def subTaskManager = ComponentAccessor.getSubTaskManager()
def customFieldManager = ComponentAccessor.getCustomFieldManager()

def personFieldsIds = [14098,14099]

for (int personFieldsId:personFieldsIds){
def person = customFieldManager.getCustomFieldObject(personFieldsId)
def personValue = issue.getCustomFieldValue(person)
if (personValue){
MutableIssue newSubTask = issueFactory.getIssue()
newSubTask.setReporter(issue.reporter)
newSubTask.setAssignee(personValue?.getKey())
newSubTask.setSummary("Subtask for " + personValue?.getDisplayName())
newSubTask.setParentObject(issue)
newSubTask.setProjectObject(issue.getProjectObject())
newSubTask.setIssueTypeId(constantManager.getAllIssueTypeObjects().find{it.getName() == "Sub-task"}.id)
newSubTask.setDescription("Description for " + personValue?.getDisplayName())
Map<String,Object> newIssueParams = ["issue" : newSubTask] as Map<String,Object>
issueManager.createIssueObject(issue.reporter, newIssueParams)
subTaskManager.createSubTaskIssueLink(issue, newSubTask, issue.reporter)
}
}

Журнал ошибок:

2019-05-29 11: 30: 12,079 ОШИБКА [workflow.ScriptWorkflowFunction]: ****************************** ************************************************** ***** 2019-05-29 11: 30: 12,096 ОШИБКА [workflow.ScriptWorkflowFunction]: не удалось выполнить функцию сценария: null, actionId: 1, file: groovy.lang.MissingPropertyException: Нет такого свойства: customFieldManager для класса: Script8 на Script8.run (Script8.groovy: 13)

сценарий эээ

1 Ответ

0 голосов
/ 04 июня 2019

Каким-то образом коды в вашем вопросе и на вашем изображении не совпадают, и ошибки тоже не подходят.

Однако сначала в коде, который вы разместили на изображении, у вас фактически нет свойства / переменной customFieldManager. Строка получения CustomFieldManager отсутствует.

Тогда метод getCustomFieldObject ожидает значение типа long: https://docs.atlassian.com/software/jira/docs/api/6.3.10/com/atlassian/jira/issue/CustomFieldManager.html#getCustomFieldObject(java.lang.Long) Итак, вы можете изменить его на:

def person = customFieldManager.getCustomFieldObject(personFieldsId as Long)

или

def personFieldsIds = [14098L, 14099L]
...