如何使用 REST API 获取我关注的 azure devops 工作项?

How to get the azure devops workitems I'm following, using REST API?

我尝试使用 wiql,但我仍然无法构造对 return 我所关注的 workitemids 的查询。

提前致谢!

用于获取后续工作项的筛选器是 System.id In @Follows

您可以通过单击 Open in Queries 选项来检查此过滤器。

由于您正在使用 wiql 获取工作项,因此您可以使用以下 Rest API - Query By Wiql.

POST https://dev.azure.com/{organization}/{project}/{team}/_apis/wit/wiql?api-version=6.0-preview.2

请求正文示例:

{
  "query": "SELECT [System.Id], [System.WorkItemType],  [System.State],[System.AreaPath],[System.Tags],[System.CommentCount],[System.ChangedDate] FROM workitems WHERE[System.Id] IN(@follows) AND [System.TeamProject] = 'Project Name' AND [System.State] <> '' ORDER BY [System.ChangedDate] DESC"
}

顺便说一句,您可以使用此 Wiql Editor 扩展将查询转换为 wiql 语法。会更方便。

更新:

我的activity:

请求正文:

{
  "query": "SELECT [System.Id], [System.WorkItemType], [System.Title],[System.AssignedTo], [System.State],[System.AreaPath],[System.Tags], [System.CommentCount]FROM workitems WHERE [System.Id] IN (@myRecentActivity)  AND [System.TeamProject] = 'Project name'  ORDER BY [System.ChangedDate] DESC"
}

提到:

请求正文:

{
  "query": "SELECT [System.Id], [System.WorkItemType], [System.Title],[System.AssignedTo], [System.State],[System.AreaPath],[System.Tags], [System.CommentCount]FROM workitems WHERE [System.Id] IN (@recentMentions)  AND [System.TeamProject] = 'Projectname'  ORDER BY [System.ChangedDate] DESC"
}

更新2:

工作项数量限制为 20000。

在这种情况下,您可以将过滤器添加到组查询中。