You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过REST API获取ADO工作项链接及关联工作项状态?

获取Azure DevOps工作项关联链接及状态的两种方法

方法一:单次工作项API请求直接返回关联项状态

你可以修改现有请求的参数,让接口在返回链接的同时,一并拉取关联工作项的状态字段。调整后的请求端点如下:

https://{{coreServer}}/{{organization}}/{{project}}/_apis/wit/workitems/{{workItemId}}?api-version={{api-version}}&$expand=relations&$relationsFields=System.State
  • $expand=relations:确保返回当前工作项的所有关联链接
  • $relationsFields=System.State:指定需要获取关联工作项的「状态」字段(如果需要其他字段,用逗号分隔即可,比如System.State,System.Title)

返回结果中,每个relations条目下的target对象会包含fields属性,里面就有System.State的具体值。

方法二:通过WIQL查询获取关联项及状态

如果需要更灵活的筛选(比如只获取特定类型的链接),可以用工作项查询语言(WIQL)构造查询,一次性拉取所有关联工作项及其状态。

  1. 构造WIQL语句(示例包含层级链接和相关链接,可按需调整链接类型):
SELECT [System.Id], [System.Title], [System.State]
FROM WorkItemLinks
WHERE (Source.[System.Id] = {{workItemId}})
AND ([System.Links.LinkType] IN ('System.LinkTypes.Hierarchy-Forward', 'System.LinkTypes.Related'))
ORDER BY [System.Id]
MODE (Recursive)
  1. 发送POST请求到查询端点:
https://{{coreServer}}/{{organization}}/_apis/wit/wiql?api-version={{api-version}}

请求Body为JSON格式:

{
  "query": "SELECT [System.Id], [System.Title], [System.State] FROM WorkItemLinks WHERE (Source.[System.Id] = {{workItemId}}) AND ([System.Links.LinkType] IN ('System.LinkTypes.Hierarchy-Forward', 'System.LinkTypes.Related')) ORDER BY [System.Id] MODE (Recursive)"
}

这种方式可以自定义返回字段、筛选链接类型,甚至递归查询多层关联的工作项。

内容的提问来源于stack exchange,提问作者Ragul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 21:12:36