【问题标题】:How to add a related work item when the build pipeline fails in Azure DevOps?Azure DevOps 中构建管道失败时如何添加相关工作项?
【发布时间】:2021-04-14 20:52:10
【问题描述】:

我正在尝试以某种方式设置我的构建管道,如果它由于某种原因失败,然后创建一个新的工作项。但是,是否可以为这些自动创建的工作项添加相关工作项?

现在,我正在手动添加一个相关的用户故事,只是为了让我的 azure board 井井有条,我猜这个相关的工作也是一个额外的领域,但找不到 these fields 中的哪一个我应该在选项选项卡中使用它们以及如何使用它们。

这是我想要的结果:

我发现 this question 有类似的问题,只是缺少有关如何添加相关工作项的这一步。

【问题讨论】:

  • 您好,您尝试过Kevin 提供的解决方案吗?我已经测试了凯文的答案,并且效果很好。随时留下您的评论!只是提醒this

标签: azure azure-devops azure-pipelines azure-boards


【解决方案1】:

是否可以为这些自动创建的工作项添加相关的工作项?

恐怕Pipeline选项中的Create work item on failure选项不支持为新创建的工作项添加相关的工作项。

它只支持定义工作项的领域。但父工作项链接属于 relations

由于您不想使用 Rest API,我建议您可以使用 Create Work Item 扩展中的 Create Work Item 任务。

然后您可以在代理作业结束时直接添加此任务。

例如:

在此任务中,您可以定义相关的工作项:

然后您可以在任务中设置条件(例如,仅当前一个任务失败时)。

在这种情况下,当管道发生故障时,它将运行任务并创建一个工作(包含父工作项链接)。

【讨论】:

  • 我们的管道失败后,成功创建了票证。为了让我们的董事会更清楚,我只需要启用迭代路径并检查团队的当前迭代。谢谢!
【解决方案2】:

不过,目前不支持在“失败时创建工作项”中直接为创建的工作项添加父工作项,因为相关工作项的信息不是存储在字段中,而是存储在关系中。

作为替代方法,您可以通过 REST API Work Items - Create 创建工作项并为其设置父项。

POST https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/${type}?api-version=6.0

这是一个例子:

[
  {
    "op": "add",
    "path": "/fields/System.Title",
    "from": null,
    "value": "SampleTask"
  },
  {
    "op": "add",
    "path": "/relations/-",
    "value": {
      "rel": "System.LinkTypes.Hierarchy-Reverse",
      "url": "https://dev.azure.com/{organization}/{project}/_apis/wit/workItems/{parent work item id}"
    }
  }
]

第二段用于添加父级。

有关如何在管道中运行 REST API 的详细信息,请参阅您的 linked questions

【讨论】:

  • 感谢您的替代方案。我的团队不使用 REST API,我不希望仅为这种特定情况设置它,所以我仍在尝试弄清楚如何管理它。
猜你喜欢
  • 2020-05-13
  • 2022-07-18
  • 2021-01-03
  • 2020-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多