I have many instances of setting various customfield values in our workflows and I'm not having issues with them. This particular one seems to be giving me trouble:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.ModifiedValue
Issue issue = issue
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
CustomField Customer = customFieldManager.getCustomFieldObject("customfield_12400") // 12400 - Customer
CustomField Category = customFieldManager.getCustomFieldObject("customfield_12401") // 12401 - Category
//String issueCategory = Category
//String issueCustomer = Customer
String issueCategory = issue.getCustomFieldValue(Category)
String issueCustomer = issue.getCustomFieldValue(Customer)
if(Customer == "@No Customer"){
String internalCategory = "Request - EDCO"
Category.updateValue(null, issue, new ModifiedValue(issueCategory, internalCategory), new DefaultIssueChangeHolder());
}
else{
String externalCategory = "Request - Customer"
Category.updateValue(null, issue, new ModifiedValue(issueCategory, externalCategory), new DefaultIssueChangeHolder());
}
I'm sure it's something simple but I can't for the life of me figuring out what is causing my issues. Errors read as follows:
2019-12-10 19:13:17,454 ERROR [workflow.AbstractScriptWorkflowFunction]: *************************************************************************************
2019-12-10 19:13:17,454 ERROR [workflow.AbstractScriptWorkflowFunction]: Script function failed on issue: EDCO-77223, actionId: 1, file: null
java.lang.ClassCastException: java.lang.String cannot be cast to com.atlassian.jira.issue.customfields.option.Option
at com.atlassian.jira.issue.customfields.impl.SelectCFType.getDbValueFromObject(SelectCFType.java:72)
at com.atlassian.jira.issue.customfields.impl.AbstractSingleFieldType.createValue(AbstractSingleFieldType.java:143)
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 Script885.run(Script885.groovy:28)
Is something different wen updating values from the create transition? This same method seems to be working fine further down the line in our workflows.