Скопировать значение поля из родительской задачи в подзадачу при создании - 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]

}