This documentation is for version 4.x. For the latest documentation, click here

Append items to an existing checklist

You may need to extend an existing checklist with additional items. In those situations, you will start by retrieving the current list of Checklist Items.

def ArrayList<ChecklistItem> existingChecklistValue = (ArrayList<ChecklistItem>) issue.getCustomFieldValue(checklistCustomField);

You then create an item and append it to the retrieved collection. It’s important that you set the rank of the item to the end of the Checklist, otherwise it may not end up where you expect it to be.

def newItem = checklistCustomFieldType.getSingularObjectFromString('{"name": "item name"}'); newItem.setRank(existingChecklistValue.size() + 1); existingChecklistValue.add(newItem);

Finally, you update the custom field passing it the same collection that was initially extracted from the custom field.

checklistCustomFieldType.updateValue(checklistCustomField, event.issue, newChecklistValue);

Following is a complete example that can be used to add two items to an existing checklist: