gpt4 book ai didi

tfs - Visual Studio REST API 迭代和区域 ID

转载 作者:行者123 更新时间:2023-12-03 05:20:41 26 4
gpt4 key购买 nike

我正在使用 VSO REST API,并对如何分配迭代和区域 ID 有疑问。具体来说,为什么当我将工作项分配给根Iteration或Area时,查询分类节点时没有返回WIT返回的ID?

例如,想象一下当我查询/DefaultCollection/my project/_apis/wit/classificationnodes?$depth=2 时我有这个层次结构

  • 我的项目:id=1234
    • 区域 1:id=5678
      • 区域 2:id= 9012

然后我使用/DefaultCollection/_apis/wit/workItems/1?$expand=all 查询工作项

如果工作项位于区域 1 或区域 2 中,则 System.AreaId 字段符合预期(分别为 5678 和 9012)。但是,如果我将工作项分配给“我的项目”,则当我查询所有分类节点时,System.AreaID 是不包含的某个值。 ID 之间似乎存在某种关系,因为它们是连续的(例如,分类节点查询返回的 ID 对于区域是 1232,对于迭代是 1233),但我似乎找不到一种方法来查询获取工作项查询返回的实际ID。

事实上,当我查询所有分类节点时,不仅工作项返回的 ID 不存在,如果我将工作项分配给根迭代和区域,两个字段返回的 ID 也是相同的值不包含在分类节点查询中。

我需要的是一种查看工作项并找出它所属的区域和迭代的方法。我可能可以对返回的路径字段字符串做一些事情,但这似乎很容易出错,因为用户可以更改它们。

****编辑****上面的内容似乎是 REST API 中的一个错误,但对于看到这篇文章的任何人来说,有一种方法可以通过路径字符串获取可用的迭代 ID。像这样构造您的 REST 调用:

/DefaultCollection/[项目名称]/_apis/wit/classificationnodes/iterations/Release 1/Sprint 1(等)

最佳答案

我从来没有用ID做过这个。我只使用路径。在分类服务中,您可以很容易地通过路径获取节点。

例如,使用 REST API - 您可以访问此 URL 来获取有关特定迭代的数据:

/DefaultCollection/[Project Name]/_apis/wit/classificationnodes/iterations/[Release X]/[Sprint Y]

请注意,尝试访问默认迭代路径(项目名称而不是特定迭代)将返回错误:

/DefaultCollection/[Project Name]/_apis/wit/classificationnodes/iterations/[Project Name]

将给出:

{"$id":"1","innerException":null,"message":"VS402485: The node name is not recognized: [Project Name]","typeName":"Microsoft.TeamFoundation.WorkItemTracking.Server.Metadata.WorkItemTrackingTreeNodeNotFoundException, Microsoft.TeamFoundation.WorkItemTracking.Server","typeKey":"WorkItemTrackingTreeNodeNotFoundException","errorCode":0,"eventId":3200}

因此,如果您进行批处理工作,则必须在查询 api 之前过滤这些工作。

关于tfs - Visual Studio REST API 迭代和区域 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29550144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com