【问题标题】:Azure DevOps - Select distinct IterationPath (workitems table)Azure DevOps - 选择不同的迭代路径(工作项表)
【发布时间】:2020-02-20 21:49:51
【问题描述】:

我试图在 Python 中区分 IterationPath 字段的所有可能性,但我无法获得此类数据。我尝试使用 UNNEST 来获取它所在的数组,但没有成功。谁能帮我解决这个问题?

query_wiql = Wiql(query="""\
SELECT distinct [System.IterationPath] FROM workitems
""")

【问题讨论】:

    标签: azure-devops azure-devops-rest-api


    【解决方案1】:

    如果您想在当前团队项目中获得IterationPath 字段的所有可能性,您可以尝试:

    SELECT
            [System.IterationPath]
    FROM workitems
    WHERE
            [System.TeamProject] = @project
    ORDER BY [System.ChangedDate] DESC
    

    如果您想获得当前组织中IterationPath 字段的所有可能性,您可以使用:

    SELECT
            [System.IterationPath]
    FROM workitems
    ORDER BY [System.ChangedDate] DESC
    

    如果您不想要该订单,您可以删除ORDER BY [System.ChangedDate] DESC。希望对您有所帮助,如果我有任何误解,请随时纠正我。

    【讨论】:

    • 不幸的是,这不适合我,因为我想根据这些数据创建一个自动列表。此外,我将通过的每个查询限制为 20,000 条记录。
    • 我不确定自动列表的含义...您能否分享一些有关此的详细信息,还可以检查 Shamrai 的回答是否有帮助。只是一个提醒:)
    • 我认为这里的问题是你没有得到一个不同的迭代路径列表。相反,您会获得所有工作项的迭代路径,其中包含数百或数千个重复项。 WIQL 似乎非常缺少 DISTINCT 关键字。
    【解决方案2】:

    尝试使用Classification Nodes获取所有路径:

    1. 获取一次迭代,例如根:https://dev.azure.com/<org>/<team project name>/_apis/wit/classificationnodes/Iterations?api-version=5.1Classification Nodes - Get an iteration
    2. 检查hasChildren 属性。如果确实如此,请与孩子一起进行此迭代(为请求添加深度)。获取迭代 1 的子节点的示例:https://dev.azure.com/<org>/<team project name>/_apis/wit/classificationnodes/Iterations/Iteration 1?$depth=1&api-version=5.1?api-version=5.1
    3. 或者尝试通过迭代树级别传递深度。从根获取 10 级子级的示例:https://dev.azure.com/<org>/<team project name>/_apis/wit/classificationnodes/Iterations?$depth=10&api-version=5.1

    【讨论】:

      猜你喜欢
      • 2022-06-10
      • 1970-01-01
      • 2020-02-12
      • 2023-03-04
      • 2020-06-28
      • 2020-01-20
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多