如何让TFS自动将某些任务添加到新工作项?


9

我们在工作场所使用TFS来管理我们的源代码并跟踪开发。

每当我们有错误或需要做的工作时,我们总是必须至少执行以下两个任务:

  • 测试工作,或决定是否需要测试。
  • 更新当前版本的发行说明,或决定是否需要特定的条目。

其他任务特定于完成的工作,但是我发现自己在添加新的工作项时不断键入“测试”和“发行说明”。

每当创建新的错误或工作项时,是否有办法让TFS自动添加这两个任务?在极少数情况下,不需要执行这些任务,可以简单地将其标记为该工作项的已完成或删除,因此我不担心将其自动化的影响。

我环顾四周,看来我可以创建一个PowerShell脚本,将任务添加到缺少它们的任何工作项中,这也许是可行的方法。

Answers:


11

重要的提示

它没有开箱即用的功能,通常我会设法使人们远离诸如“测试”,“部署”之类的通用任务,并让他们考虑整个工作过程中的测试并让他们定义他们想要一路执行的中间测试。

诸如发行说明和部署之类的通用内容可以完全自动化。可能也使用powershell;)。

因此,我尝试让人们将精力集中在使用Powershell-fu上来自动化这些通用和不良任务。

答案

当然,这并不是您本身问题的答案。因此,这是真正的答案,是的,powershell是一个选项,您可以调用REST api或客户端对象模型,并使用它来查询工作项并创建新的工作项。该API广泛使用,并且在博客文章等方面有很多信息。或者,您可以创建一个小型控制台应用程序,该应用程序也使用相同的客户端对象模型

您还可以使用警报中SOAP api来在添加或更改工作项时得到通知,并通过添加必需的子工作项来使您的代码起作用。

SOAP api的替代方法是使用TFS Aggregator之类的东西,它可以集成到服务器本身中。它使用相同的TFS客户端对象模型。我是构建它的团队的一员,我们已经针对2013u2 +和2015+发布了该版本。TFS聚合器允许您编写使用C#脚本的Powershell来对工作项更改进行操作的规则。从自动化的角度来看,在使用客户端对象模型时,它已经做了很多工作来防止常见的陷阱。

TFS聚合器是TFS 2013(更新2和更高版本)的服务器端插件,它现在能够基于规则创建新的工作项。可以在此处找到示例任务:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.