With same code I can set a field Description, but cannot set a field Email. See the code below. The result: the content of field Description is filled with email address, but field Email stays empty. The name of field Email is correct. Why the behavior is different? How I can set a content of field Email?
@BaseScript FieldBehaviours fieldBehaviours
def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
getFieldById only works with default fields (such as description, summary, etc.) or in the form of getFieldById("customfield_XXX") where the XXX is the actual ID of the custom field.
When you are configuring a custom field, you can find its ID by looking in the URL. There will be a number there. Replacing XXX with the number should fix your issue.
Why this works like this is because you can have 2 custom fields with the same name, so the custom field name isn't actually a good fit as an ID as you'd expect an ID to be unique.