2016-11-10 7 views
0

プロジェクトごとにプロジェクトを調べて調べる代わりに、コレクション内のプロジェクトがどのようにビルドされているかを調べる方法を探しています。ビルドのTFS2013コレクションを確認する方法

単純なことに、ビルドされたプロジェクトの名前があります。

+0

プロジェクトの名前は何ですか?ビルド定義ビルディングを持っているcs/vbprojまたはslnファイルの名前? – DaveShaw

答えて

0

いいえ、これを達成する簡単な方法はありません。ビルド定義は、チームエクスプローラ - ビルド - 新規ビルド定義で作成されます。それはプロジェクトレベルであり、チームプロジェクトのコレクションレベルではありません。ソースリンク:Create or edit a build definition


更新

探検チームでのビルドのあなたが同様の結果を取得したい場合は、IBuildServer.QueryBuildsを使用することによって、これを達成するためにTFSのAPIを使用する必要があります。

プロジェクト名を最初に確認してから、日付フィルタに基づいてビルドをクエリできます。ビルドに関連する作業項目、関連するチェンジセット、またはその他のものは必要ありません。以下のようにこのパフォーマンス向上、サンプルコード:あなたが言及したプロジェクトがTeamProject、あなたがこれを取得するための簡単なPowerShellスクリプトを作成することができますしている場合Fastest way to get list of builds using IBuildServer.QueryBuildsこの1 TFS API - How to query builds independent of which build definition they belong to

+0

私はTFSの管理者権限を全面的に持っています。だから私は各プロジェクトに参加することができますが、私は100以上のプロジェクトで2つのコレクションを持っています。だから、チームエクスプローラでそれぞれをチェックしなければならないのは本当に面倒なことになる。私がアクセスできないのはビルドコントローラだけです。それを必要とするチームによって管理されているので、他に何人いるか分かります。 – LordRazon

+0

ビルド定義を取得したいのですか、ビルドだけを取得しますか?チームエクスプローラで同様のビルド結果を得たい場合は、 'IBuildServer.QueryBuilds'を使用してTFS APIを使用する必要があります。詳細はこのブログを参照してください:[IBuildServer.QueryBuildsを使用してビルドのリストを取得する最速の方法](http://incyclesoftware.com/2012/09/fastestway-to-get-list-of-builds-using-ibuildserver-querybuilds -2 /) –

0

var buildSpec = buildServer.CreateBuildDetailSpec(teamProjectName, buildDefinition); 
buildSpec.InformationTypes = null; 
buildSpec.MinFinishTime = DateTime.Now.AddHours(-lastXHours); 
var buildDetails = buildServer.QueryBuilds(buildSpec).Builds; 

詳細は、このブログを参照してください。 TFS API経由:

$collectionurl = "http://xxxxxxxx/"; 
$tfs = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($collectionurl); 
$buildservice = $tfs.GetService([Microsoft.TeamFoundation.Build.Client.IBuildServer]); 
$workitemservice = $tfs.GetService([Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore]); 
$projects = $workitemservice.Projects; 
foreach ($project in $projects) 
{ 
    $builds = $buildservice.QueryBuilds($project.Name); 
    Write-Host $project.Name; 
    Write-Host "Build Count:" $builds.Count; 
    Write-Host "*****************************"; 
} 
関連する問題