How can i get the value of a insight custom field using Scriptrunner behavior, and write this fields value into the summary field?
Environment: Datacenter
This is my custom field inside service portal:
And i want to get the value of the "Use old Project to pre-fill fields" field. This value should be written inside the "Summary" field.
However, every approach which I have found online and tested, unfortunately does not want to work.
This is my code:
1. Attempt
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.issue.fields.CustomField
def summary = getFieldById("summary")
def useProjectToFill = getFieldById("Use old Project to pre-fill fields")
String selectedProj = useProjectToFill.getFormValue().toString()
if (summary.getFormValue() == null || summary.getFormValue().toString().length() < 1) {
summary.setFormValue("nothing selected")
} else {
summary.setFormValue(selectedProj)
}
Result:
Nothing selected so far so okay ->
Project select ... Not so okay... ->
2. Attempt
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.issue.fields.CustomField
def field = ComponentAccessor.getCustomFieldManager().getCustomFieldObject("Use old Project to pre-fill fields")
def value = underlyingIssue.getCustomFieldValue(field)
def summary = getFieldById("summary")
String useProjectToFill = getFieldById("Use old Project to pre-fill fields").getFormValue().toString();
if (summary.getFormValue() == null) {
summary.setFormValue("nothing selected")
} else {
summary.setFormValue(useProjectToFill)
}
This attempt breaks the behavior and summary is empty all time.
Pls help
Hey @Marcel Kroner and welcome to the community!
I'm wondering if this is causing you issues:
getFieldById("Use old Project to pre-fill fields")
you use the getFieldById but then use the name of the field.
Could you try with either getFieldByname("") or input the customfield_xxxx ?
Hello Dirk,
thank you very much! I never thought I would get such a quick response as I got from you :)! Thank you very much!
Your answer is partially correct.
getFieldByName("") returned me the insight object, but not the string inside the field.
I can work with it, but people looking for the string value would not be helped by it, I think.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Want to make your everyday Community actions directly contribute to reforestation? The Atlassian Community can achieve this goal by liking a post, attending an ACE, sending your peers kudos, and so much more!
Help us plant more trees
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.