Hi All,
I have custom field X of type multi-text. I'm creating another scripted field Y which displays the X previous data using script runner.
Please let me know any sample script to achieve this.
TIA!
Hello,
You can find an answer here:
https://community.atlassian.com/t5/Jira-questions/How-to-get-previous-and-current-values-of-all-the-changed-fields/qaq-p/269702
The base script is like this:
def changeHistoryManager = com.atlassian.jira.component.ComponentAccessor.getChangeHistoryManager()def created = changeHistoryManager.getChangeItemsForField(issue, "your custom field name")
Thank you @Alexey Matveev
Here is my code
import com.atlassian.jira.component.ComponentAccessordef changeHistoryManager = com.atlassian.jira.component.ComponentAccessor.getChangeHistoryManager()def old = changeHistoryManager.getChangeItemsForField(issue, 'Original Requirement')return old.fromString
This code prints all the previous data used in that field in a square brackets
Example : [text]
if the custom field is null then it print empty square bracktes [].
My Question is,
1. How to get only last changed value in the output instead of getting old data from the beginning.
2. How do I eliminate these brackets in output?
If you get brackets in groovy it means that the class of the old variable is the List. You need to get an element from the list. If you want to get the last element you should write:
old?.last().fromString
If you want to get the first element then:
old?.first().fromString
Hello @Alexey Matveev - This is amazing.
Is there anyway to extract the date as well as the field values?
Also, if we wanted each change separated for easier viewing, something better than just the comma, can that be done as well?
Thanks in advance for any help.
SMK
@SMAtlassianMber Did you get any workaround to separate the change based on Date or with any sort by order?
Thanks Alexey....
This is really helpful for me as well.
ank you Alexey Matveev
try this :
import com.atlassian.jira.component.ComponentAccessordef issue = Issues.getByKey('PROJ-XXXX')final String customFieldName = "your_custom_field"def changeHistoryManager = ComponentAccessor.changeHistoryManagerdef changeHistory = changeHistoryManager.getChangeItemsForField(issue, customFieldName)changeHistory.last().fromString
It looks like you're new here. Sign in or register to get started.