VSTS:如何获取自上次成功发布到生产后的所有链接工作项?

VSTS: How to get all linked work items since last successful release to production?

我们正在使用 Visual Studio 带 Git 的团队服务和 VSTS 发布管理。我们是 运行 使用拉取请求的持续交付模型。因此,每个合并的拉取请求都会触发相应构建的潜在发布,最终将在生产中结束。

每个版本都列出了与相应的直接拉取请求关联的链接工作项。 VSTS 状态:

All work items that were included in commits will be displayed in the below list. Comparing current release with %previous release%.

然而,并不是所有的拉取请求都会投入生产,尽管它们已经被合并到代码库中。这意味着,后续构建实际上基于此类(未发布的)拉取请求,不仅引用直接链接的工作项(来自拉取请求),而且还引用所有(尚未发布的)拉取请求的工作项。但是,这些工作项目前在“工作项”概述中不可见,这对我们的 QA 来说是个问题。

是否有官方方法可以获取与该(当前)版本关联的所有先前链接的工作项列表,与上次成功发布的生产版本相比?换句话说:我正在寻找一种方法来获取即将上线的版本的更改日志(相对于上一个完整版本)。

我已经尝试使用 VSTS REST API https://www.visualstudio.com/en-us/integrate/api/overview 但在那里找不到合适的函数。

与此同时,我找到了解决问题的方法。到目前为止,VSTS REST Api(1.0 版)不支持查询发布或构建信息。但是,它知道拉取请求: https://www.visualstudio.com/integrate/api/git/pull-requests 和工作项目: https://www.visualstudio.com/integrate/api/wit/work-items

这个工作的先决条件是您 link 您的工作项目的拉取请求。当 pull request 合并到 master 时,它通常会在提交消息中提到 linked 工作项。这就是我目前如何解决所有工作项 linked 到这些(已完成的)拉取请求,这些请求已在两个日期(例如上次发布和现在)之间合并。

这不是最好的解决方案,但它确实有效。

在 5.0 版预览中 API 现在似乎支持 "Get Work Items Between Builds"。 请注意,fromBuildId 和 toBuildId 参数应填充 buildId,而不是 UI 上显示的内部版本号。 您可以通过导航到特定构建并从 URL.

中复制 buildId 来获取 buildId