我试着在Google上查看这是否可行,但未能获得结果。
我有一个构建过程文件,需要在执行构建之前设置一些自定义参数。
我想知道在“处理”标签中编辑构建定义时是否有办法验证自定义参数的输入内容?
例如,我有两个单独的参数,它们在同一文件夹位置保存不同的文件名。然后,构建定义具有交换这些文件名的功能。
编辑这些参数时,假设用户意外地在两个字段中输入相同的名称,是否有办法提示用户(那时)他需要输入不同的文件名?
答案 0 :(得分:3)
有一种方法可以实现自定义参数编辑器,如this post中所述。不久,您编写了一些自定义WinForm代码来输入和验证参数。 如果你通过这条路线考虑
答案 1 :(得分:1)
您可以编写一个服务器端插件,用于实现ISubscriber接口和EventType(SubscribedTypes)BuildDefinitionChangingEvent。
您将获得BuildDefinition的旧版本和新版本。 这是一个决策点,因此您可以阻止BuildDefinition被更改。
要了解ISubscriber是什么以及如何实现它,请看看这两页: http://vgaltes.com/index.php/2013/04/14/create-a-team-foundation-server-event-handler/ http://geekswithblogs.net/jakob/archive/2010/10/27/devleoping-and-debugging-server-side-event-handlers-in-tfs-2010.aspx
TFS服务器API确实为用户或进程触发的不同类型的操作提供事件。您可以订阅这些事件并执行操作。有两种不同的类型:通知和决策点。它们之间的区别在于决策点能够取消某个动作。例如,您可以阻止源代码管理签入。
答案 2 :(得分:0)
不幸的是没有。
构建定义仅将输入限制为参数类型,不再进行进一步的验证。验证这一点的唯一地方是活动本身。虽然这不会在编辑构建时提醒用户,但理论上如果它们匹配则可以使构建失败。