我试着在谷歌上看看这是否可能,但未能获得结果。
我有一个构建过程文件,它需要在执行构建之前设置一些自定义参数。
我想知道是否有一种方法来验证在编辑"进程"选项卡中的构建定义时为自定义参数输入的内容?
例如,我有两个单独的参数,它们在同一文件夹位置保存不同的文件名。然后构建定义具有交换这些文件名的功能。
当编辑这些参数时,假设用户在两个字段中意外地输入了相同的名称,是否有方法提示用户(在那里和然后)他需要输入不同的文件名?
有一种实现自定义参数编辑器的方法,如本文所述。简单地说,您可以编写一些自定义的WinForm代码来输入和验证参数。如果你走这条路,考虑
- 管理客户端定制(测试、部署、更新)
- 构建可以通过其他方式(例如命令行)排队,并且此代码仅在Visual Studio 中检查值。
- 在工作流程本身加倍检查,如ChrisBint建议的
你可以编写一个服务器端插件,实现issubscriber接口和EventType (SubscribedTypes) BuildDefinitionChangingEvent。
您将获得旧版本的BuildDefinition和新版本的BuildDefinition。这是一个决策点,因此您可以防止BuildDefinition被更改。
要了解什么是issubscriber以及如何实现它,请看这两页:http://vgaltes.com/index.php/2013/04/14/create-a-team-foundation-server-event-handler/http://geekswithblogs.net/jakob/archive/2010/10/27/devleoping -和-调试-服务器端事件处理程序——- tfs - 2010. - aspx
TFS Server API为用户或进程触发的不同类型的操作提供了事件。您可以订阅这些事件并执行操作。有两种不同的类型:通知和决策点。它们之间的区别在于决策点能够取消操作。例如,您可以阻止源代码管理签入。
可惜不行。
构建定义将只将输入限制为参数类型,并且不进行进一步的验证。验证这一点的唯一地方是在活动本身。虽然这不会在编辑构建时提醒用户,但如果它们匹配,理论上可以使构建失败。