当 Azure Boards 中有未关闭的子工作项时,如何禁止关闭父工作项?

How to disallow closing a parent work item when it has non-closed child work items in Azure Boards?

我想通过通知用户甚至通过规则阻止更改来预先避免“无效”状态更改。但是,我没有看到任何基于链接工作项状态的规则功能的 when 条件。 如果它会提示用户是否要更改所有子项的状态,那就太好了,但我很确定这将是一个功能请求。 (扩展名?)

到现在为止,我已经想出了如何编写一个查询来在事后识别这些事件。

SELECT
    [System.Id],
    [System.WorkItemType],
    [System.Title],
    [System.State],
    [System.AssignedTo],
    [Microsoft.VSTS.Common.ResolvedBy],
    [Microsoft.VSTS.Common.ClosedBy],
    [Microsoft.VSTS.Common.ResolvedDate],
    [Microsoft.VSTS.Common.ClosedDate],
    [System.AreaPath],
    [System.IterationPath]
FROM workitemLinks
WHERE
    (
        [Source].[System.TeamProject] = @project
        AND [Source].[System.State] = 'Closed'
    )
    AND (
        [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward'
    )
    AND (
        [Target].[System.TeamProject] = @project
        AND NOT [Target].[System.State] IN ('Closed', 'Removed')
    )
ORDER BY [System.Id]
MODE (MustContain)

恐怕没有这样的方式可以满足您的需求。

我们无法根据子工作项的状态来判断是否关闭父工作项。

另一方面,状态字段现在不能在规则中使用。

工作项的状态独立于所有其他工作项,包括链接的工作项。

现在这个需求只能通过手动监控工作项的状态来实现。

由于您可以创建查询来获取父项和子项工作项,因此您可以通过查询监视它们。

不过,这个功能很有意义。我之前在UserVoice论坛发过类似的Suggestion Ticket。您可以投票和添加评论来表达您的建议。