I assume the original poster is writing a JIRA plugin with Java. I canβt be sure how to accomplish this task in JIRA v4.0.2, but here is how I managed to do it with JIRA v5.0.2 (the solutions may be the same):
public void workflowEvent( IssueEvent event ) { Long eventTypeId = event.getEventTypeId(); if( eventTypeId.equals( EventType.ISSUE_UPDATED_ID ) ) { List<GenericValue> changeItemList = null; try { changeItemList = event.getChangeLog().getRelated( "ChildChangeItem" ); } catch( GenericEntityException e ) { // Error or do what you need to do here. e.printStackTrace(); } if( changeItemList == null ) { // Same deal here. return; } Iterator<GenericValue> changeItemListIterator = changeItemList.iterator(); while( changeItemListIterator.hasNext() ) { GenericValue changeItem = ( GenericValue )changeItemListIterator.next(); String fieldName = changeItem.get( "field" ).toString(); if( fieldName.equals( customFieldName ) ) // Name of custom field. { Object oldValue = changeItem.get( "oldvalue" ); Object newValue = changeItem.get( "newvalue" ); } } } }
Some possible key values ββfor the changeItem parameter:
- New_value
- oldstring
- field
- ID
- Fieldtype
- Newstring
- Oldvalue
- groups
For many custom field types, Object oldValue is probably just a string. But I do not think that this is true for every case.
source share