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:
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.ComponentAccessor
def 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?
TIA!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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.
Thank you very much, Alexey. You deserve all the best compliments.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
try this :
import com.atlassian.jira.component.ComponentAccessor
def issue = Issues.getByKey('PROJ-XXXX')
final String customFieldName = "your_custom_field"
def changeHistoryManager = ComponentAccessor.changeHistoryManager
def changeHistory = changeHistoryManager.getChangeItemsForField(issue, customFieldName)
changeHistory.last().fromString
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.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@SMAtlassianMber Did you get any workaround to separate the change based on Date or with any sort by order?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.