Skip to main content
Skip table of contents

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.

    CODE
    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.

    CODE
    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.

    CODE
    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.

CODE
// 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);
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.