用户签入代码后如何在TFS服务器上执行代码 我正在构建一个集成系统,当用户检查一些更改时,需要在Team Foundation Server(2010 +)服务器上执行一些代码。我可以以图表的方式访问签入没有问题,但我想知道何时添加新的签入。理想情况下,我希望收到通知并获得签入数据,以便我可以对其进行操作,并将所需内容发布到不同的API,但如果只存在一个新签入的通知,那就足够了。理想情况下,我可以让tfs在同一台机器上执行对我自己的C#代码的调用

用户签入代码后如何在TFS服务器上执行代码 我正在构建一个集成系统,当用户检查一些更改时,需要在Team Foundation Server(2010 +)服务器上执行一些代码。我可以以图表的方式访问签入没有问题,但我想知道何时添加新的签入。理想情况下,我希望收到通知并获得签入数据,以便我可以对其进行操作,并将所需内容发布到不同的API,但如果只存在一个新签入的通知,那就足够了。理想情况下,我可以让tfs在同一台机器上执行对我自己的C#代码的调用,c#,tfs,tfsintegrationplatform,C#,Tfs,Tfsintegrationplatform,在过去的两天里,我一直在互联网上四处寻找,我坚信这是可能的,但是我似乎找不到关于如何做的任何细节,坦白地说,我已经没有办法去哪里寻找了。如果任何人对从何处开始或从何处寻找有任何想法,或者理想情况下有任何类似的来源想法,我们将不胜感激 主要是,我一直在挖掘TFS集成工具,但这方面的文档充其量还是有问题的。我已经找到了所有现有的适配器源代码(用于clearcase等),但没有看到任何地方触发执行的代码,因为我怀疑这些代码更适合单向迁移 有不同的方法可以实现这一点: 团队建设。通过使用TFS生成服务器

在过去的两天里,我一直在互联网上四处寻找,我坚信这是可能的,但是我似乎找不到关于如何做的任何细节,坦白地说,我已经没有办法去哪里寻找了。如果任何人对从何处开始或从何处寻找有任何想法,或者理想情况下有任何类似的来源想法,我们将不胜感激


主要是,我一直在挖掘TFS集成工具,但这方面的文档充其量还是有问题的。我已经找到了所有现有的适配器源代码(用于clearcase等),但没有看到任何地方触发执行的代码,因为我怀疑这些代码更适合单向迁移

有不同的方法可以实现这一点:

  • 团队建设。通过使用TFS生成服务器,您可以创建连续集成生成或门控签入生成。在构建工作流中,您可以对检测到的任何更改做出响应。您可以使用TFS客户机对象模型来获取变更集对象。包含您需要的所有数据。ALM Rangers已经编写了一个如何扩展和定制构建过程以满足您的需要的文档

  • 。通过创建自定义签入策略,您可以在客户端(Visual Studio内部)上运行代码预签入。可以作为如何与挂起的更改交互的示例

  • ISubscriber
    TFS应用层插件。@ppejovic已经提到了。应用层插件安装在TFS服务器上,将在进程中运行。因为它是在进程中托管的,所以您可以做很多事情。作用于工作项和/或源代码管理的示例是处理程序。如果需要,也可以退回到客户机对象模型

  • soapapi。这是ISubscriber接口的前身。您仍然可以使用它,但ISubscriber解决方案将为您提供更强大的功能和更高的效率

  • 这个。您始终可以在定期连接到TFS的系统上创建服务或计划作业,以请求自上次检查以来的历史记录。通过简单地存储查询所有比您目前看到的最高变更集编号更新的内容,您可以获得所需的所有信息,而无需扩展TFS本身。你要找的是班级。该方法是获取变更集所需的方法

  • 有一个很好的多景观课程带你通过

    与大多数这些项目一样,文档很少,像RedGateReflector.NET这样的工具也很少
    或者Jetbrains dotPeek是无价的。

    TFS有一个事件子系统,您可以在其中订阅事件并执行任意代码。你可以走两条路。编写一个使用TFS或SOAP Web服务在进程中运行的服务器端事件处理程序。以下是一些很好的起点,还有一个广泛引用的事件处理程序,订阅签入事件。啊,我的印象是SOAP API在2010年后就退役了,但尽管这可能有用,
    ISubscriber
    插件路径似乎是最优的。定时历史记录检查在某种程度上是我的备份计划,但在它发生时能够做到这一点是非常重要的。谢谢你这么简洁有用的回答。你给我的信息比我和其他两个人在几天的网络搜索中所能找到的要多。