[Sequester] Add parent node when creating and updating work items
BillWagner opened this issue · 0 comments
Starting in April, Sequester needs to add a parent node to new (and existing) work items when importing an issue to Azure DevOps.
In general, most repos have a single parent for work done there, but there are a few special cases:
- C# is tracked separately from .NET libraries.
- Some tasks may be better parented under items for "curation", "freshness", or "maintenance"
Here's the proposed design:
The quest-config.json
file gets a new section to map labels to parent node IDs. Something like the following:
"parentNodes" : {
"okr-health" : 199082,
"dotnet-csharp/svc" : 227484
},
"defaultParentNode" : 228485
The "defaultParentNode"
node is required. Sequester will warn if it's not set. The labels for the parentNodes
are checked in order, and the first one found will be chosen as the parent. In other words, an issue with both "okr-health" and "dotnet-csharp/svc" labels will be imported as a child of node 199082 (the parent chosen for "okr-health".
The import code needs to set the System.Parent
ID (numeric) for the parent of the imported work item.
When updating an issue that has been imported, the configured parent should be checked against the work item's parent. If they are different (or the parent is missing), the parent node should be updated.