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

Create checklist items using "getSingularObjectFromString"

The best way to create a Checklist Item object is to use the getSingularObjectFromString(String) method of the Custom Field Type. The input to the method is a string containing a Json representation of the item.

import com.atlassian.jira.component.ComponentAccessor; // Retrieve the Custom Field Type for the Checklist Custom Field def customFieldManager = ComponentAccessor.getCustomFieldManager(); def checklistCustomField = customFieldManager.getCustomFieldObject("customfield_10013"); def checklistCustomFieldType = checklistCustomField.getCustomFieldType(); // Json representation of an item def itemJson = ''' { "name": "Run all tests", "checked": false, "statusId": "none", "mandatory": false, "rank": 0 } '''; // Create a checklist item def ChecklistItem newItem = checklistCustomFieldType.getSingularObjectFromString(itemJson);

Utility Method

If you intend to create many items, a good practice is to use an utility method to facilitate creation of a ChecklistItem objects.

def ChecklistItem createChecklistItem(ChecklistCFType cfType, String name, boolean checked, String status, boolean mandatory, int rank) { def itemJson = """ { "name": "${name}", "checked": ${checked ? "true" : "false"}, "statusId": "${status == null || status == "" ? "none" : status}", "mandatory": ${mandatory ? "true" : "false"}, "rank": ${rank} } """; return cfType.getSingularObjectFromString(itemJson); }