We have a groovy script that we use in the post functions of the create transition for setting values to hidden fields. The values show up on the screen, but are not being saved in the database. If you go into the edit screen, the values show as none.
We are using JIRA 6.4 and the updated Groovy script module
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.customfields.view.CustomFieldParams
import com.atlassian.jira.issue.transport.CollectionParams
import com.atlassian.jira.issue.customfields.option.Option
import com.atlassian.jira.issue.customfields.impl.CascadingSelectCFType
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.util.ImportUtils
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.fields.CustomFieldImpl
import com.atlassian.jira.issue.fields.layout.field.FieldLayoutItem
//import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.event.type.*
//MutableIssue issue = ComponentAccessor.getIssueManager().getIssueObject('PRD-3876')
ComponentAccessor componentAccessor = new ComponentAccessor()
CustomFieldManager customFieldManager = componentAccessor.getCustomFieldManager()
IssueManager issueManager = componentAccessor.getIssueManager()
CustomField customField = customFieldManager.getCustomFieldObjectByName("Type : Sub Type")
Object value = issue.getCustomFieldValue(customField)
HashMap<String, Option> hashMapEntries = (HashMap<String, Option>) value
if (hashMapEntries != null)
{
parent = hashMapEntries.get(CascadingSelectCFType.PARENT_KEY)
child = hashMapEntries.get(CascadingSelectCFType.CHILD_KEY)
}
CustomField insParent = customFieldManager.getCustomFieldObjectByName("Type-Type")
CustomField insChild = customFieldManager.getCustomFieldObjectByName("Subtype-Subtype")
DefaultIssueChangeHolder changeHolder = new DefaultIssueChangeHolder()
def modifiedValueP = new ModifiedValue(issue.getCustomFieldValue(insParent), parent)
def modifiedValueC = new ModifiedValue(issue.getCustomFieldValue(insChild),child)
insParent.updateValue(null, issue, modifiedValueP, changeHolder)
insChild.updateValue(null, issue, modifiedValueC, changeHolder)