Updating items in checklists using SIL

A common use case involves updating the properties of existing checklist items.


Steps

  1. Retrieve the current list of items from the custom field converted from JSON to the oChecklistItem structure.

    oChecklistItem[] items = fromJson(DoD);
  2. Loop over the collection and apply the desired changes. For example, you could remove the status of a specific item.

    for(oChecklistItem item in items) { if (item.name == "Code reviewed") { item.statusId = "none"; } }
  3. Update the custom field by passing it the same collection that was initially extracted from the custom field converted to JSON.

    DoD = toJson(items);

Example

Here is a full example that can be used to modify a checklist to:

  • Uncheck all items;

  • Clear items with the “In Progress” status;

  • Make the “Code reviewed” item optional.

In this example, the checklist field’s name is DoD.

// Retrieve the items in a Structure array to facilitate manipulations oChecklistItem[] items = fromJson(DoD); for(oChecklistItem item in items) { // Uncheck all items item.checked = false; // Remove statuses for items "In progress" if (item.statusId == "inProgress") { // "none" is the system value for "no status" item.statusId = "none"; } // Item "Code reviewed" is changed to be optional (not mandatory) if (item.name == "Code reviewed") { item.mandatory = false; } } // Update the checklist with its new values DoD = toJson(items);

SERVER DOCUMENTATION (On Cloud? Go here.)
Have questions? Contact our Service Desk for help anytime.