Hi Community,
I have this piece of script which is suppose to create a ticket and set value to them.
def issueObject = issueFactory.getIssue()
def cfParticipant = "sd.request.participants.field.name"
issueObject.setProjectObject(project)
issueObject.setSummary(subject)
issueObject.setDescription(MailUtils.getBody(message))
issueObject.setIssueTypeId(project.issueTypes.find {it.name == "Service Request"}.id)
issueObject.setReporter(reportermail)
issueObject.setCustomFieldValue(cfParticipant, "addresses")
messageHandlerContext.createIssue(user, issueObject)
But the problem is that it is not setting value for the custom field : "sd.request.participants.field.name"
Can I get some advice please.
Best regards,
Jason Li
Hi Jason,
Do you recall where you found this snippet? The first argument to setCustomFieldValue needs to be a CustomField object rather than a plain string:
def cfParticipant = ComponentAccessor.customFieldManager.getCustomFieldObjectByName("Request participants")
The above assumes that you have ComponentAccessor imported; if not, you can do so at the top of your script as follows:
import com.atlassian.jira.component.ComponentAccessor
Note also that ScriptRunner will issue a deprecation warning against the use of getCustomFieldObjectByName. It is safe to ignore this, although for maximum futureproofing you may prefer to replace that call with the following:
getCustomFieldObjectsByName("Request participants")[0]
Regards,
Joanna Choules, Adaptavist Product Support
Hi Joanna.
Thank you very much for your help. I have been able to sort the problem.
Best regards,
Jason
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.