Скопировать значение поля из родительской задачи в подзадачу при создании - malikovalibek/groovyForJira GitHub Wiki
Обзор Скопируйте любое значение поля из родительской задачи во вновь созданную подзадачу.
пример У меня есть настраиваемое поле, которое определяет, какие компоненты работы необходимы. Эта информация одинакова как для родительских задач, так и для подзадач. Этот сценарий означает, что мне не нужно каждый раз вводить их вручную.
Хорошо знать Реализуйте это как первую функцию публикации на этапе создания рабочего процесса. fieldNameToCopy: имя поля для копируемого значения. С участием ScriptRunner для Jira от Adaptavist
Создано 1 год назад , Обновлено 5 месяцев назад
Код сервера Код центра обработки данных
Требования JiraJira (7,7 - 8,6)
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.IssueFieldConstants import com.atlassian.jira.issue.fields.FieldManager
// the name of the field whose value we want to copy from parent to subtask final String fieldNameToCopy = "Component/s"
FieldManager fieldManager = ComponentAccessor.fieldManager
if (!issue.isSubTask()) { return }
def fieldToCopy = fieldManager.allAvailableNavigableFields.find { it.name == fieldNameToCopy } if (!fieldToCopy) { log.info "Could not find field with name $fieldNameToCopy" return }
def parentIssue = issue.parentObject def fieldToCopyId = fieldToCopy.id
switch (fieldToCopyId) { case fieldManager.&isCustomFieldId: def customField = ComponentAccessor.customFieldManager.getCustomFieldObject(fieldToCopyId) def linkedIssueCustomFieldValue = parentIssue.getCustomFieldValue(customField) issue.setCustomFieldValue(customField, linkedIssueCustomFieldValue) break
case IssueFieldConstants.COMPONENTS:
issue.setComponent(parentIssue.components)
break
case IssueFieldConstants.FIX_FOR_VERSIONS:
issue.setFixVersions(parentIssue.fixVersions)
break
case IssueFieldConstants.AFFECTED_VERSIONS:
issue.setAffectedVersions(parentIssue.affectedVersions)
break
default:
issue[fieldToCopyId] = parentIssue[fieldToCopyId]
}