Work with Collections
Subobjects such as Tasks and Attachments are organized into collections. To work with attributes in a collection, use the accessor and iterate through the records or rows in the collection.
Let's look at how to work with collections.
- Get task attributes
- Set task attributes
- Add a task to change order
Get Task Attributes
Tasks are stored as a collection and therefore to access them you must iterate
through them. In this case, the accessor is Change
Task.
def changeTasks = ChangeTask
changeTasks.reset()
while(changeTasks.hasNext()){
def eachTask = changeTasks.next()
println("ActionCode: "+eachTask.ActionCode)
println("Assigned By: "+eachTask.AssignedByText)
println("Assigned On: "+eachTask.AssignedDate)
}
Set Task Attributes
You can update some task attributes by iterating through them, using an "if" statement to access the desired task, and then using set Attribute to set a value.
Let’s look at the code to set task attributes:
def changeTasks = ChangeTask
changeTasks.reset()
while(changeTasks.hasNext()){
def eachTask = changeTasks.next()
if(eachTask.Name == "Update tasks"){
eachTask.setAttribute("Description",'This is another new description')
println("Description: "+eachTask.Description)
}
}
Add a Task to Change Order
Let's look at the code to add a task to a change
order:
def changeTasks = ChangeTask
def newTask = changeTasks.createRow()
newTask.setAttribute("Name", "Update the design doc")
newTask.setAttribute("RequiredFlag", "N")
newTask.setAttribute("CompleteBeforeStatusCode", 6)
newTask.setAttribute("Description", "Update the design doc to fit the proposed changes.")
newTask.setAttribute("AssignedTo", "<username>")
changeTasks.insertRow(newTask)