Hi Guys,
Need one help in completing scriptrunner mail handler.
I am trying to create a mail handler which add Email body in "Detailed Description" text field and set Enivornment select list field to "Production" , i tried to add the following script in mail handler but it's not working nor giving an error and not creating an issue when i am trying to add default value for these field. If i remove these highlighted linesthen only issue get created in project. but i want to set default values. Kindly suggest.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.service.util.ServiceUtils
import com.atlassian.jira.service.util.handler.MessageUserProcessor
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.user.util.UserManager
import com.atlassian.mail.MailUtils
def userManager = ComponentAccessor.getComponent(UserManager)
def projectManager = ComponentAccessor.getProjectManager()
def issueFactory = ComponentAccessor.getIssueFactory()
def messageUserProcessor = ComponentAccessor.getComponent(MessageUserProcessor)
//text field detail description
def detail_description = getFieldByName("Detailed Description")
//mail data
def subject = message.getSubject() as String
def body = MailUtils.getBody(message)
def issue = ServiceUtils.findIssueObjectInString(subject)
//select list field Enivornment
def enviornment = getCustomFieldById("customfield_11755")
def optionsManager = ComponentAccessor.getOptionsManager()
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def customField = customFieldManager.getCustomFieldObject(enviornment.getFieldId())
def config = customField.getRelevantConfig(getIssueContext())
def options = optionsManager.getOptions(config)
def optionToSelect = options.find { it.value == "Production" }
ApplicationUser user = userManager.getUserByName("vikrant-yadav2")
ApplicationUser reporter = messageUserProcessor.getAuthorFromSender(message) ?: user
def project = projectManager.getProjectObjByKey("HBBOP")
def issueObject = issueFactory.getIssue()
issueObject.setProjectObject(project)
issueObject.setSummary(subject)
issueObject.detail_description.setFormValue(body)
issueObject.enviornment.setFormValue(optionToSelect.optionId)
issueObject.setIssueTypeId(project.issueTypes.find { it.name == "Bug" }.id)
issueObject.setReporter(reporter)
messageHandlerContext.createIssue(user, issueObject)