I want to write a custom field version picker (release_version_int).
But I continuous get the following error:
<Error>
java.lang.ClassCastException: com.atlassian.jira.project.version.VersionImpl cannot be cast to java.util.Collection at com.atlassian.jira.issue.customfields.impl.AbstractMultiCFType.createValue(AbstractMultiCFType.java:39) at com.atlassian.jira.issue.fields.ImmutableCustomField.createValue(ImmutableCustomField.java:693) at com.atlassian.jira.issue.fields.ImmutableCustomField.updateValue(ImmutableCustomField.java:410) at com.atlassian.jira.issue.fields.ImmutableCustomField.updateValue(ImmutableCustomField.java:396) at com.atlassian.jira.issue.fields.OrderableField$updateValue.call(Unknown Source) at Script227.run(Script227.groovy:34)
</Error>
I used the following code
<code>
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.workflow.JiraWorkflow
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.ComponentManager;
// Retrieve issue ID => Only for debugging in console
def issueManager = ComponentAccessor.getIssueManager();
MutableIssue issue = issueManager.getIssueObject("CV-318");
// Get stored version information
def relVersion = ComponentAccessor.getCustomFieldManager().getCustomFieldObjects(issue).find {it.name == 'release_version'};
def newVersion = issue.getCustomFieldValue(relVersion);
// Get release_version_int object
def relVersion_int = ComponentAccessor.getCustomFieldManager().getCustomFieldObjects(issue).find {it.name == 'release_version_int'};
// get project id
def projectId = issue.getProjectObject().getId();
// Get version
def version = ComponentAccessor.getVersionManager().getVersion(projectId, newVersion);
// Store version in the release_version_int => Required for linking
issue.setCustomFieldValue(relVersion_int, version);
issueChangeHolder = new DefaultIssueChangeHolder();
relVersion_int.updateValue(null, issue, new ModifiedValue("", issue.getCustomFieldValue(relVersion_int)), issueChangeHolder);
issue.store();
def newVersion_int = issue.getCustomFieldValue(relVersion_int);
</code>
Any suggestions?