首页 > 解决方案 > 为什么 azure-api 不显示构建相关的工作项?

问题描述

我们创建并运行一个构建,它具有关联的更改和链接的工作项。但是如果我们尝试从 api 获取链接项目,我们有 0 个响应元素。对于某些构建,这有效,但对于其他构建则无效。

当我们运行构建时,构建和工作项之间有什么联系?我们如何获得链接工作项的列表,我们在构建摘要中看到?ps 请求的 URL 是 100% 正确的,因为有时我们有正确的响应,但是当我们更改时出现问题build_id

我们试图根据 build id 和 build number 找出确切的行为,但我们没有成功。

示例:创建一个工作项,在一个分支中修复它,将一个分支合并到 master,发布一个构建。

工作项附加到构建中,在通过 API 请求时显示。我们删除已发布的构建,再次发布构建,然后工作项丢失并且它不与任何其他构建绑定(因为第一个已被删除)。

在不删除构建的情况下会发生类似的事情,但我们无法获得工作项。

标签: azureazure-devopsazure-rest-api

解决方案


当我们运行构建时,构建和工作项之间有什么联系?我们如何获得链接工作项的列表,我们在构建摘要中看到?

我们可以使用下面的REST API来列出构建链接的工作项。

GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/workitems?api-version=6.0

和步骤:

我们需要打开构建定义->单击触发器选项卡并启用该功能Enable continuous integration,然后单击选项选项卡并启用该功能Automatically link new work in this build

在此处输入图像描述

推送提交并添加相关工作项,然后我们可以在构建摘要页面中看到这些工作项。

在此处输入图像描述

工作项附加到构建中,在通过 API 请求时显示。我们删除发布的构建,再次发布构建

步骤是创建分支->推送提交并添加工作项->创建拉取请求并触发构建,构建应通过CI或拉取请求触发器触发,然后检查构建链接的工作项->删除此构建并重新触发此构建手动然后再次检查链接的工作项,结果是在新构建中看不到链接的工作项,对吗?

这是设计的,如果我们手动触发构建,我们可以在工作项链接选项卡中添加此链接,我们无法在摘要页面中看到工作项,但我们可以通过之前共享的 API 列出工作项。请检查下面的图片。

在此处输入图像描述


推荐阅读