azure - 为什么 azure-api 不显示构建相关的工作项?
问题描述
我们创建并运行一个构建,它具有关联的更改和链接的工作项。但是如果我们尝试从 api 获取链接项目,我们有 0 个响应元素。对于某些构建,这有效,但对于其他构建则无效。
当我们运行构建时,构建和工作项之间有什么联系?我们如何获得链接工作项的列表,我们在构建摘要中看到?ps 请求的 URL 是 100% 正确的,因为有时我们有正确的响应,但是当我们更改时出现问题build_id
。
我们试图根据 build id 和 build number 找出确切的行为,但我们没有成功。
示例:创建一个工作项,在一个分支中修复它,将一个分支合并到 master,发布一个构建。
工作项附加到构建中,在通过 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 列出工作项。请检查下面的图片。
推荐阅读
- android - 有没有办法禁用特定软件包的使用?
- laravel - 如何在十月 Cms 静态中获取模型的表名?
- entity-framework - 在 EF Core 中使用 IsolationLevel 开始事务
- tensorflow - TensorBoard 无法正确加载
- xamarin.forms - 如何修复 AppCenter 构建错误 NETSDK1004
- angular - 过滤 Observable 数组以返回一个结果
- vue.js - 如何使用 Nuxt 正确导入 CSS 模块?
- java - 在字符串中,将具有某些属性的每个 HTML 元素添加到具有任意属性的任意值的新任意元素中
- typescript - 如何在两个类之间共享 TypeScript 函数定义?
- c++ - 内存对齐和虚拟地址空间