Hi,
We have a requirement to create a sub-task through workflow transition. While creating sub-task few custom filed values from parent issue should be inherited to sub-task. We have created a separate custom field for the sub-task issue. For example - if we have a custom field called Status, the in sub-task we have field called Ticket Status of same type. We copy the value of Status to Ticket Status field through script listener while creating parent issues. This approach works fine for all other fields except for multi select field. This is the code we are using to copy values from multi select field to multi select field.
void workflowEvent(IssueEvent event) { Issue issue = event.getIssue() // some code copyMultiSelectToMultiSelect("Status", "Ticket Status", issue) } void copyMultiSelectToMultiSelect(String sourceCustomFieldName, String destCustomFieldName, Issue issue) { CustomField sourceCF = customFieldManager.getCustomFieldObjectByName(sourceCustomFieldName) CustomField destinationCF = customFieldManager.getCustomFieldObjectByName(destCustomFieldName) FieldLayoutManager fieldLayoutManager = ComponentAccessor.getFieldLayoutManager() def newValue = issue?.getCustomFieldValue(sourceCF) List<Option> converted = new ArrayList<Option>() for (Option s : newValue) { //LOG.info "Option value is : ${s.getValue()}" converted.add(s); } if (newValue != null) { FieldLayoutItem fieldLayoutItem = fieldLayoutManager.getFieldLayout(issue).getFieldLayoutItem(destinationCF); destinationCF.updateValue(fieldLayoutItem, issue, new ModifiedValue(null, converted), new DefaultIssueChangeHolder()); } else { FieldLayoutItem fieldLayoutItem = fieldLayoutManager.getFieldLayout(issue).getFieldLayoutItem(destinationCF); destinationCF.updateValue(fieldLayoutItem, issue, new ModifiedValue(null, null), new DefaultIssueChangeHolder()); } }
Can anybody suggest what we are missing?
Thanks,
Raj
Could you consider using the same custom field for parent and subtask?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.