使用 WIQL 从 Azure Devops 检索链接的工作项

Retrieving linked Work Items from Azure Devops, using WIQL

我一直在研究使用 azure-devops python 包从 Azure Devops 中检索工作项,并在以下位置提供的示例代码的帮助下成功地提取了工作项:

https://github.com/microsoft/azure-devops-python-samples/blob/main/src/samples/work_item_tracking.py

但是,我正在尝试改进流程以抓取特定工作项以及任何链接的 'related work' 项。 For instance, grabbing the parent, as well as "Test Feature"

我该怎么做?


编辑:

我已经接近构建此功能,但是我的查询一直返回每个工作项,而不仅仅是链接的项。我的目标是从树的根工作项中检索所有子项。

wiql = Wiql(
   query="""
            SELECT * FROM workitemLinks 
            WHERE (Source.[System.AreaPath] Under 'devOpsTesting\testArea')
            AND ([System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward')
            AND (Source.[System.Id] = 3)  
            ORDER BY [System.Id]
            MODE (Recursive, ReturnMatchingChildren)
        """
)

我找到了问题的解决方案,从 MODE 中删除 'ReturnMatchingChildren' 摆脱了额外的 returns。此解决方案假定项目 ID 为 3。

wiql = Wiql(
   query="""
            SELECT * FROM workitemLinks 
            WHERE (Source.[System.AreaPath] Under 'devOpsTesting\testArea')
            AND ([System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward')
            AND (Source.[System.Id] = 3)  
            ORDER BY [System.Id]
            MODE (Recursive)
        """
)