我正在寻找构建特定ChangeSetID将触发的内部版本号或构建名称。我看到有一个TfsWarehouse.dbo。[Build Changeset]表,但TfsWarehouse DB只是经常填充,在TFS CheckIn Alert触发后我需要这些信息。我创建了一个签入服务,它根据应用程序创建代码审查工作项,并将它们分配给他们的应用程序所有者。
有没有办法根据ChangeSetId获取Build将启动的内容?
我可以使用TFS API或直接查询数据库。
谢谢, 添
答案 0 :(得分:3)
如果您想知道哪些构建定义会受到一组版本控制路径的影响,那么请查看TFS API中的IBuildServer.GetAffectedBuildDefinitions方法。
对于BuildDefinition,您可以获取已运行的构建的BuildDetails,并从中查询它们所基于的变更集。
当签入事件触发时,无法知道从中创建的构建的构建号是什么,因为构建号可以在构建运行时设置为进程的一部分 - 而不是构建首先排队。
如果你想编辑你的问题来解释你想要实现的目标,我可能会建议一个更好的方法。例如,在IBuildServer上,您可以调用CreateQueuedBuildsView方法,为您提供查询构建服务器的机制,并在构建排队时通知您的代码。 BuildCompletedEvent也会在构建完成时触发。