デフォルトでは、REST APIのブランチフィルタはGet a list of buildsにはありません。あなたが特定のブランチにキューイングされたビルドにタグを作成することができることを意味し
GET https://{instance}/DefaultCollection/{project}/_apis/build/builds?api-version={version}[&definitions={string}][&queues={string}][&buildNumber={string}][&type={string}][&minFinishTime={DateTime}][&maxFinishTime={DateTime}][&requestedFor={string}][&reasonFilter={string}][&statusFilter={string}][&tagFilters={string}][&propertyFilters={string}][&$top={int}][&continuationToken={string}]
あなたは直接RESTのAPI を使用する特定のブランチ上でのビルドを照会したい場合は、他のフィルタを使用することができ、例えばtagFilters
、 。
もう1つの回避策は、PowerShellなどの3番目のツールでブランチをフィルタすることです。
あなたは(最初のビルドが最新のものでなければなりません)特定のブランチ上に構築をフィルタリングするためのPowerShellスクリプトの下に使用することができます。
$baseUrl = "http://server:8080/tfs/CollectionLC/0418Scrum/_apis/build/builds?api-version=2.0&statusFilter=completed&resultFilter=succeeded&definitions=57" # Filter added.
$builds = (Invoke-RestMethod -Uri $baseUrl -Method Get -UseDefaultCredential).value|where({$_.sourceBranch -eq '$/0418Scrum/web0418'}) # filter branch, just change '$/0418Scrum/web0418' to your branch.
$BuildResults = @()
foreach($build in $builds){
$customObject = new-object PSObject -property @{
"BuildDefinition" = $build.definition.name
"BuildId" = $build.id
"BuildNumber" = $build.buildNumber
"status" = $build.status
"result" = $build.result
"finishTime" = $build.finishTime
"sourceBranch" = $build.sourceBranch
}
$BuildResults += $customObject
}
$BuildResults | Select `
BuildDefinition,
BuildId,
BuildNumber,
status,
result,
finishTime,
sourceBranch
![enter image description here](https://i.stack.imgur.com/s8AnB.png)
おかげで、最後に私は非常にアプローチを使用あなたがPowershellを使って提案したものに似ています。 –