我一直在使用谷歌搜索,並找不到任何可靠的例子如何完成,或者如果它甚至可以完成。我認爲它可以。任何人都可以將我指向正確的方向嗎?是否可以使用TFS SDK創建,排隊和跟蹤構建?
到目前爲止,我一直在尋找關於msdn的TFS命名空間文檔。我的目標是能夠從Intranet Web應用程序完全自動化並跟蹤我們在TFS中的構建。
我一直在使用谷歌搜索,並找不到任何可靠的例子如何完成,或者如果它甚至可以完成。我認爲它可以。任何人都可以將我指向正確的方向嗎?是否可以使用TFS SDK創建,排隊和跟蹤構建?
到目前爲止,我一直在尋找關於msdn的TFS命名空間文檔。我的目標是能夠從Intranet Web應用程序完全自動化並跟蹤我們在TFS中的構建。
理查德向我指出了正確的方向,所以我會用我發現的東西來回答我自己的問題。
是的,您可以使用TFS SDK創建,排隊和跟蹤構建。您想要的接口/類位於Microsoft.TeamFoundation.Build.Client命名空間中。 IBuildServer,IBuildDefinition和IBuildDetail特別有用。
TFS 2010更新:下面是一個使用TFS 2010 SDK的例子程序,發現here:
using System;
using System.Collections.Generic;
using Microsoft.TeamFoundation.Build.Client;
using Microsoft.TeamFoundation.Build.Workflow;
using Microsoft.TeamFoundation.Client;
namespace ManageBuildTemplates
{
class Program
{
static void Main(string[] args)
{
TfsTeamProjectCollection collection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://jpricket-test:8080/tfs/collection0"));
IBuildServer buildServer = collection.GetService<IBuildServer>();
IBuildDefinition definition = buildServer.GetBuildDefinition("UnitTests", "Definition1");
IBuildRequest request = definition.CreateBuildRequest();
request.ProcessParameters = UpdateVerbosity(request.ProcessParameters, BuildVerbosity.Diagnostic);
buildServer.QueueBuild(request);
}
private static string UpdateVerbosity(string processParameters, BuildVerbosity buildVerbosity)
{
IDictionary<String, Object> paramValues = WorkflowHelpers.DeserializeProcessParameters(processParameters);
paramValues[ProcessParameterMetadata.StandardParameterNames.Verbosity] = buildVerbosity;
return WorkflowHelpers.SerializeProcessParameters(paramValues);
}
}
}
查看tfsbuild.exe(位於VS安裝的.../Common9/IDE文件夾中)。
此引用組件Microsoft.TeamFoundation.Build.Client
和Microsoft.TeamFoundation.Build.Common
看起來有用,...,且含有不與其他TFS cient assembliies文檔的命名空間,但在MSDN這裏http://msdn.microsoft.com/en-us/library/cc339575.aspx
謝謝,這導致我的解決方案。 – JimDaniel 2009-03-04 21:02:13