Skip to main content

Example State Rules


N.B: Each rule should contain only the following structure:

{  "IfState": "...",  "NotParentStates": [    "..."  ],  "SetParentStateTo": "...",  "All": boolean}

or

{  "IfState": "...",  "SetChildrenStateTo": "..."}

Manage a Product Backlog Item given a Task state change (with explanation!)

Expand
{  "Type": "Task",  // Rules applied when a "Task" state changes  "Rules": [    {      "IfState": "To Do",      // If the "Task" goes to "To Do"      "NotParentStates": [        // And the parent is not in "Done" or "Removed"        "Done",        "Removed"      ],      "SetParentStateTo": "New",      // Set the parent state to "New"      "All": true      // Only apply this rule if all "Tasks" are in the "To Do" state    },    {      "IfState": "In Progress",      // If the "Task" goes to "In Progress"      "NotParentStates": [        // And the parent is not in "Done" or "Removed"        "Done",        "Removed"      ],      "SetParentStateTo": "Committed",      // Set the parent state to "Committed"      "All": false      // Apply this rule even if not all "Tasks" are in the "In Progress" state    },    {      "IfState": "Done",      // If the "Task" goes to "Done"      "NotParentStates": [        // And the parent is not in or "Removed"        "Removed"      ],      "SetParentStateTo": "Done",      // Set the parent state to "Done"      "All": true      // Only apply this rule if all "Tasks" are in the "Done" state    }  ]}

Manage a Feature state given its Product Backlog Items

Expand
{  "Type": "Product Backlog Item",  "Rules": [    {      "IfState": "New",      "NotParentStates": [        "Done",        "Removed"      ],      "SetParentStateTo": "New",      "All": true    },    {      "IfState": "Committed",      "NotParentStates": [        "Done",        "Removed"      ],      "SetParentStateTo": "In Progress",      "All": false    },    {      "IfState": "Done",      "NotParentStates": [        "Removed"      ],      "SetParentStateTo": "Done",      "All": true    }  ]}

Manage the tasks of a PBI given its state

Expand
{  "Type": "Product Backlog Item",  // When a PBI changes  "Rules": [    {      "IfState": "Done",      // If the PBI state is "Done"      "SetChildrenStateTo": "Done"      // Set all childrens (Tasks) to "Done"     }  ]}