Macro Use Case: Delete Workflow Nodes
Use this macro to delete multiple nodes from the workflow without having to write
multiple actions.
Example
Macro
{
"name": "deleteWorkflowNode",
"description": "Deletes a workflow node.",
"parameters": [
"nodeName"
],
"actions": [
{ "action": "delete", "path": "$.workflowDefinition.${p.nodeName}"}
]
},
{
"name": "deleteArrayOfWorkflowNodes",
"description": "Deletes a set of workflow nodes.",
"parameters": [
"nodeNameArray"
],
"actions": [
{ "action": "eval",
"value": "${array:forEach(p.nodeNameArray, '${macros:deleteWorkflowNode(var)}')}"}
]
}
Example
Rule Calling the
Macro
{"action":"eval","key" : "myArray","value":["Extract_Queue","Add_Fields_To_Queue","Append_Queue_User"]},
{
"action": "eval",
"description": "remove multiple nodes in dataflow",
"value": "${macros:deleteArrayOfWorkflowNodes(Rules.Eval.myArray)}"
}