You may need to extend an existing checklist with additional items.
Steps
-
Retrieve the current list of checklist items converted from JSON to the
oChecklistItemstructure.oChecklistItem[] items = fromJson(DoD); -
Create an item and set the values you require.
oChecklistItem newItem; newItem.name = "Acceptance criteria for each issue met"; -
Add the new item to the current values.
items += newItem; -
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 add two items to an existing checklist:
// Retrieve the items in a Structure array to facilitate manipulations
oChecklistItem[] items = fromJson(DoD);
// Create the new items and set their values
oChecklistItem newItem1;
newItem1.name = "Acceptance criteria for each issue met";
newItem1.assigneeIds = {"smith"};
oChecklistItem newItem2;
newItem2.name = "Functional tests passed";
// To add an item at a specific rank, SIL requires to split the current array and merge it back with the item in the required position.
// Warning: array indexes are zero based!
number insertAtPosition = 3;
oChecklistItem[] first2Items = subarray(items, 0, insertAtPosition - 1);
oChecklistItem[] restOfItems = subarray(items, insertAtPosition - 1, arraySize(items) - 1);
// Concatenate all items
items = first2Items + newItem1 + restOfItems + newItem2;
// Update the checklist with its new values
DoD = toJson(items);