3

我想访问团队项目的构建信息,以便在我们公司的其他应用程序中使用它们。我需要的是为团队项目请求所有构建。我需要以下信息: - Outlut 复制到的 UNC 路径 - 名称 - 构建日期 - 谁开始或触发了构建(如果可能)

我没有找到任何描述如何通过 Web 服务访问 TFS 上的信息。我学到的是 TFS 有一个服务接口。

我希望任何人都可以给我一点提示如何达到我的目标。如果有人有一些示例代码,我肯定会很高兴:-)

4

2 回答 2

2

这样的事情会有所帮助吗:

using System;
using Microsoft.TeamFoundation.Build.Client;
using Microsoft.TeamFoundation.Client;

namespace BuildDetails
{
    class Program
    {
        static void Main()
        {
            TfsTeamProjectCollection teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfsURI"));
            var buildService = (IBuildServer)teamProjectCollection.GetService(typeof(IBuildServer));

            IBuildDefinition buildDefinition = buildService.GetBuildDefinition("TeamProjectName", "BuildDefinitionName");
            IBuildDetail[] buildDetails = buildService.QueryBuilds(buildDefinition);

            foreach (var buildDetail in buildDetails)
            {
                IBuildInformation buildInformation = buildDetail.Information;
                Console.Write(buildDetail.BuildNumber+"\t");
                Console.Write(buildDefinition.Name+"\t");
                Console.Write(buildDetail.Status+"\t");
                Console.Write(buildDetail.StartTime+"\t");
                Console.WriteLine((buildDetail.FinishTime - buildDetail.StartTime).Minutes);
            }
        }
    }
}

这只是 TFS-SDK 的标准用法,我认为它提供了您正在寻找的信息。

于 2012-06-18T08:47:31.703 回答
1

我建议使用wrapper来访问 TFS,因为它更容易并且可能足以满足您的需要。

如果没有,我建议使用TFS SDK

如果您仍想降低,请阅读此SO

于 2012-06-18T08:38:55.940 回答