成功したビルドのビルド品質(リリース済みまたは拒否済みまたは試用ビルド)を取得するには、powershellスクリプトが必要です。PowerShellスクリプトでTFSビルドの品質を得るには?
次のスクリプトで試してみました:問題は、リリースビルドが4〜5回以上ある場合、ビルドのリストを取得するにはどうすればいいですか?以下のスクリプトでは、MaxBuildsPerDefinition = 2または3の値を変更する際の手間が省けます。すべてのリリース候補ビルドを取得する必要があります。
[string] $tfsLocation = "http://serverURL/tfs"
[string] $projectName = "ProjectName"
[string] $buildDefinitionName = "BuildDefinition"
Add-Type -Path "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.Client.dll"
Add-Type -Path "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Microsoft.TeamFoundation.Build.Client.dll"
$tfsUri = New-object Uri($tfsLocation)
$teamProjectCollection = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($tfsUri)
$service = $teamProjectCollection.GetService([Type]"Microsoft.TeamFoundation.Build.Client.IBuildServer")
$spec = $service.CreateBuildDetailSpec($projectName, $buildDefinitionName)
$spec.MaxBuildsPerDefinition = 2
$spec.QueryOrder = [Microsoft.TeamFoundation.Build.Client.BuildQueryOrder]::FinishTimeDescending
$results = $service.QueryBuilds($spec)
if ($results.Builds.Length -eq 2)
{
Write-Host $results.Builds[0].Quality
if ($results.Builds[0].Quality = "Released")
{
<<My Script Here>>
} else {
<<My Script Here>>
}
} else {
Write-Error "No builds found."
}
はいい考えです。何をお試しいただきましたので、お手伝いします。あなたのスクリプトを投稿する方法がわからない場合。 [How to Ask](https://stackoverflow.com/help/how-to-ask)と[最小限で完全で検証可能なサンプルを作成する方法](https://stackoverflow.com/)をご覧ください。ヘルプ/ mcve) – ShanayL
上記の試用版スクリプトを追加しました – Bala