azure-devops - 跨多个项目查询 lastChanged 工作项
问题描述
我正在尝试创建查询,为我提供过去两天内更新的所有用户故事,这在使用 WorkItem Batch Query 的项目中应该是非常基本的。https://[TENNANT].analytics.visualstudio.com/[PROJECT]/_odata/v1.0/WorkItems 我需要更新一些设置了一组标准的用户故事(计算我无法像现在这样使用 DevOps 中的规则进行估计)
我的挑战是我们有 200 个项目,我需要在所有这些项目中获取最后更改的用户故事。所以我目前的解决方案如下:
- 查询分页为 100 的项目(现在是 3 个查询)
- 查询用户故事,分页为 200(现在是 207 个查询)
- 运行所有用户故事并在需要时更新计算(平均每天约 20 个)
总而言之,查询将运行大约 11 分钟,然后由于 Azure DevOps REST Api 上的限制阈值而失败。
有没有一种方法可以查询租户中所有项目的用户故事,或者查询用户故事自那以后发生更改的项目?项目的 LastChanged 与底层元素无关,而是与项目元数据相关。
希望找到解决此问题的每一个提示:)
解决方案
有没有一种方法可以查询租户中所有项目的用户故事,或者查询用户故事自那以后发生更改的项目?
你可以试试 Azure Devops Rest Api Query By Wiql,这样你就可以通过WIQL 语法自定义逻辑。
返回User Stories which have been changed within the last two days
特定项目的简单请求:
Post https://dev.azure.com/{OrgName}/_apis/wit/wiql?api-version=6.1-preview.2
如果您要查询组织内的所有项目,请请求正文:
{
"query": "Select [System.Id] From WorkItems WHERE [System.WorkItemType]='User Story' AND [System.ChangedDate] >= @today-2 ORDER BY [System.ChangedDate] DESC"
}
如果您正在查询组织内的特定项目,请请求正文:
{
"query": "Select [System.Id] From WorkItems WHERE [System.WorkItemType]='User Story' AND [System.ChangedDate] >= @today-2 And ([System.TeamProject] = 'ProjectName1' OR [System.TeamProject] ='ProjectName2') ORDER BY [System.ChangedDate] DESC"
}
推荐阅读
- java - 在单独的控制台/cmd 窗口中显示使用 JSch 执行的 SSH 命令的结果,而不是在 IDE 控制台中
- python - Python:如何获取列表中的对象,然后返回该对象的值(这是一个变量)?
- python - 在 Python 中按顺序运行 Powershell 命令
- javascript - 在 Excel VBA 中保存网页中 javascript 函数的结果
- sql - 想生成自定义唯一键并同时处理多个请求
- angularjs - 动态启用/禁用滑动器(触摸/鼠标)
- ios - WKWebview 超时
- android-studio - 如何在 Android Studio 中恢复 XML 代码样式设置
- pycharm - 无法接受 PyCharm 的条款和条件
- git - 如何使用 FULL COMMITS 将 git repo 迁移到 svn?