I have a script that gets fired on issueupdated/issuedeleted events and renames options configured in a single-select custom field.
The renaming part is working fine, however when I look at issues using the renamed option, on the "view" screen they are still showing the old value. If I go into "edit" mode the new option value is displayed (and is correctly selected as the current value for that issue).
Things I've tried:
Is there an extra step that needs to be performed to let issues know that the option has been renamed so they display the correct value? Here's a snippet of the code I'm using (including my attempts to get the issue to recognise the new value):
CustomField customField = this.customFieldManager.getCustomFieldObject(CUSTOMFIELD_ID); FieldConfig fieldConfig = customField.getConfigurationSchemes().listIterator().next().getOneAndOnlyConfig(); Options fieldOptions = this.optionsManager.getOptions(fieldConfig); Option existingOption = fieldOptions.getOptionForValue(originalValue, null); if (existingOption) { existingOption.setValue(newValue); // later that evening... List<Issue> issues = searchResults.getIssues(); if (issues) { fieldOptions = this.optionsManager.getOptions(fieldConfig); existingOption = fieldOptions.getOptionForValue(newValue, null); IssueChangeHolder changeHolder = new DefaultIssueChangeHolder(); for (Issue existingIssue : issues) { // Update the new issues with the renamed option customField.updateValue(null, existingIssue, new ModifiedValue(customField.getValue(existingIssue), existingOption), changeHolder); this.issueManager.updateIssue(this.currentUser.getDirectoryUser(), existingIssue, EventDispatchOption.ISSUE_UPDATED, false); // Explicitly reindex the issues ComponentAccessor.getIssueIndexManager().reIndex(existingIssue); } } }
It's not ideal but I found a work-around. Instead of renaming an existing option, I just create a new one, point any issues using the old option to the new option, reindex them then delete the old option. It works but feels like a bit of a dirty hack...
If it helps at all I'm using JIRA 6.2.1 and Script Runner 2.1.17 (doesn't officially support 6.2.x but I haven't had any show-stopper compatibility problems so far)
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.