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

ラッパーがTFSにアクセスするにはラッパーを使用することをお勧めします。これは、はるかに簡単で、必要なものには十分かもしれないためです。

そうでない場合は、 TFS SDKを使用することをお勧めします。

それでも下げたい場合は、このSOを読んでください。

于 2012-06-18T08:38:55.940 に答える