Hi there. I have some trouble with getting the value of select CF from issue A and then setting it to the same value on issue B. Here is the failing part of my script:
CustomField CF_pion= customFieldManager.getCustomFieldObject("customfield_13200")
def zawartosc_pion = sourceIssue.getCustomFieldValue(CF_pion)
OptionsManager optionsManager = ComponentAccessor.getOptionsManager()
Option option = optionsManager.getOptions(CF_pion.getRelevantConfig(sourceIssue)).getOptionForValue(zawartosc_pion, null);
def changeHolder = new DefaultIssueChangeHolder();
CF_pion.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(CF_pion), option),changeHolder);
Anybody has an idea what is messed up in the above part?
Full script, just in case:
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.link.IssueLinkTypeManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.jira.issue.customfields.manager.OptionsManager
import com.atlassian.jira.issue.customfields.option.Option
//import org.apache.log4j.Category
MutableIssue issue = issue
//Category log = log
//log.setLevel(org.apache.log4j.Level.DEBUG);
def ComponentManager componentManager = ComponentManager.getInstance();
def customFieldManager = componentManager.getCustomFieldManager();
def parentTaskIDCF = customFieldManager.getCustomFieldObject('customfield_13305');
def parentTaskID = issue.getCustomFieldValue(parentTaskIDCF);
if (parentTaskID == null || parentTaskID == '') {
return true;
} else {
def issueManager = ComponentAccessor.getIssueManager();
def parentIssue = issueManager.getIssueObject(parentTaskID);
def isParentIssueValid = (parentIssue != null);
if (isParentIssueValid) {
def issueLinkManager = ComponentAccessor.getIssueLinkManager();
def issueLinkTypeManager = componentManager.getComponentInstanceOfType(IssueLinkTypeManager.class);
def issueLinkType = issueLinkTypeManager.getIssueLinkTypesByName('Relates').asList()[0];
def authenticationContext = componentManager.jiraAuthenticationContext;
issueLinkManager.createIssueLink(issue.id, parentIssue.id, issueLinkType.id, 1L, authenticationContext.getLoggedInUser());
CustomField CF_lista= customFieldManager.getCustomFieldObject("customfield_13300")
CustomField CF_vernazwa= customFieldManager.getCustomFieldObject("customfield_13302")
CustomField CF_verid= customFieldManager.getCustomFieldObject("customfield_13301")
CustomField CF_pion= customFieldManager.getCustomFieldObject("customfield_13200")
def zawartosc_lista = parentIssue.getCustomFieldValue(CF_lista)
def zawartosc_vernazwa = parentIssue.getCustomFieldValue(CF_vernazwa)
def zawartosc_verid = parentIssue.getCustomFieldValue(CF_verid)
def zawartosc_pion = parentIssue.getCustomFieldValue(CF_pion)
//log.debug zawartosc_lista
//log.debug zawartosc_vernazwa
//log.debug zawartosc_verid
OptionsManager optionsManager = ComponentAccessor.getOptionsManager()
Option option = optionsManager.getOptions(CF_pion.getRelevantConfig(parentIssue)).getOptionForValue(zawartosc_pion, null);
def changeHolder = new DefaultIssueChangeHolder();
CF_lista.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(CF_lista), zawartosc_lista),changeHolder);
CF_vernazwa.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(CF_vernazwa), zawartosc_vernazwa),changeHolder);
CF_verid.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(CF_verid), zawartosc_verid),changeHolder);
CF_pion.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(CF_pion), option),changeHolder);
}
}