I'm intend to update the component lead during runtime. I'd created a post function script to perform the following:
import com.atlassian.jira.bc.project.component.ProjectComponent;
import com.atlassian.jira.bc.project.component.MutableProjectComponent;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.bc.project.component.ProjectComponentManager
long pid = ComponentAccessor.getProjectManager().getProjectObjByKey("XXXX").getId();
ProjectComponentManager projectComponentManager = ComponentAccessor.getProjectComponentManager();
ProjectComponent existingComponent = projectComponentManager.findByComponentName(pid, "YYYY");
MutableProjectComponent newComponent = MutableProjectComponent.copy(existingComponent);
newComponent.setName("NAME");
newComponent.setDescription("DESC");
newComponent.setLead("PERSON");
projectComponentManager.update(newComponent);
Observed that the user name did not populate and update correctly (shown as '?' on the Project -> Component Screen).
Same script had been trigger on the Script Console and it works just fine.
Any idea what was the problem?