是否可以使用TFS SDK来创建,排队和跟踪构建?

Jim*_*iel 8 build-automation tfs sdk

我一直在谷歌搜索,无法找到任何可靠的例子如何完成,或甚至可以做到.我认为它可以.谁能指出我正确的方向?

到目前为止,我一直在寻找msdn上的TFS命名空间文档.我的目标是能够从Intranet Web应用程序中完全自动化和跟踪TFS中的构建.

Jim*_*iel 12

理查德指出我正确的方向,所以我将用我发现的东西回答我自己的问题.

是的,您可以使用TFS SDK来创建,排队和跟踪构建.所需的接口/类位于Microsoft.TeamFoundation.Build.Client命名空间中.IBuildServer,IBuildDefinition和IBuildDetail特别有用.

TFS 2010更新:以下是使用TFS 2010 SDK的示例程序,可在此处找到:

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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)