仅在新的失败生成上创建TFS工作项

仅在新的失败生成上创建TFS工作项,tfs,Tfs,我看过关于在所有失败的构建上禁用工作项创建的帖子,但是我希望TFS只在第一次失败时创建一个工作项。我们有一个非常复杂的遗留系统,它涉及VB6 COM组件,并且在构建服务器上经常出现构建故障,这些故障可以追溯到VB6使用二进制文件(frx、ctl等)所做的一些有趣的事情——如果您有一段时间不必处理这些问题,那么您不想这样做)。解决这些问题的唯一方法是尝试在开发人员机器上进行更新,然后签入文件并再次运行构建(因为构建在开发人员机器上不会失败)。因此,在获得成功之前,我们可能有三到四个(或更多)失败的

我看过关于在所有失败的构建上禁用工作项创建的帖子,但是我希望TFS只在第一次失败时创建一个工作项。我们有一个非常复杂的遗留系统,它涉及VB6 COM组件,并且在构建服务器上经常出现构建故障,这些故障可以追溯到VB6使用二进制文件(frx、ctl等)所做的一些有趣的事情——如果您有一段时间不必处理这些问题,那么您不想这样做)。解决这些问题的唯一方法是尝试在开发人员机器上进行更新,然后签入文件并再次运行构建(因为构建在开发人员机器上不会失败)。因此,在获得成功之前,我们可能有三到四个(或更多)失败的构建,这意味着我们将有三到四个工作项要完成

理想情况下,我希望有以下几点:

  • Joe检查导致构建失败的更改
  • 将创建一个工作项并将其分配给Joe
  • Joe签入另一个更改,但构建仍然失败
  • 没有额外的工作项创建
  • Joe在构建成功时签入更改
  • 在上面的步骤2中分配给Joe的工作项被标记为已关闭

  • 但是我很乐意只使用步骤1到步骤4。

    既然涉及到额外的签入,您如何确定第二个失败的构建与第一个失败的构建相关?如果下一次签入实际上是其他开发人员提交的附加代码,会发生什么情况?您希望他们知道他们的代码破坏了构建,或者构建仍然被破坏,即使按照您的步骤,不会触发任何东西

    您可能需要找到一种链接构建的方法——例如,跟踪自动工作项分配给谁,然后在构建成功之前不为该开发人员的签入创建另一个工作项,也许您可以以某种方式为其他开发人员排队构建。我不确定你会怎么做


    这会让你走对方向吗?

    对不起。有一个基本假设,除非其他人提交修复构建,否则在构建成功之前,他们不会提交代码。因此,任何后续提交仍然会导致损坏的构建,都不应该在TFS中获得“修复损坏的构建”工作项。如果生成过程失败,它会发出一个通知,然后在一个生成成功之前不会发出其他通知,此时该过程被重置,另一个失败的生成会产生一个新的通知。有意义吗?这个链接可能会帮助你。退房