import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.bc.project.component.ProjectComponent
MutableIssue myIssue = (MutableIssue) issue;
def customFieldManager = ComponentAccessor.getCustomFieldManager();
def deviceName = customFieldManager.getCustomFieldObjectByName("Device");
def componentValue = myIssue.getComponents()?.first()?.get("name")
def changeHolder = new DefaultIssueChangeHolder();
deviceName.updateValue(null, myIssue, new ModifiedValue(issue.getCustomFieldValue(deviceName), componentValue), changeHolder);