我们将我们的Xaml构建从TFS 2010升级到TFS 2015中的vNext构建定义。作为其中的一部分,我们有一些监视构建的过程。这些进程会过滤掉私有构建(即那些针对搁置集运行的构建,而不会在成功时提交更改)。
在新定义中,我很难弄清楚如何识别这些类型的构建。当我查看构建中的原因时,它设置为Manual
,而不是(正如我预期的那样)ValidateShelveset
。
从REST api中识别这些私有构建的最佳方法是什么?
答案 0 :(得分:2)
对于Vnext构建,使用shelveset的队列构建不会被识别为私有构建。构建原因是“手动”。
根据我的测试,$exclude = @(".html", ".tt", ".xaml", ".csproj", ".sln", ".xml", ".cmd", ".txt",".svn")
"DirectoryPath, SourceFileName" | Out-File -FilePath "E:\CSVPaths.csv" -Encoding ASCII
Get-ChildItem -recurse "E:\MyFiles" -File -ErrorAction SilentlyContinue |
Where-Object { $exclude -notcontains $_.Extension } |
Select-Object @{n="SoureFileName";e={$_.Name}},@{n="DirectoryPath";e={$_.DirectoryName}} |
Export-csv "E:\CSVPaths.csv" -Force -NoTypeInformation
# NB: The "-NoTypeInformation" is an assumption - remove if you what type info.
与其他Manual或BatchedCI版本不同。因此,为了识别针对shelveset的构建,我们可以检查“sourcebranch
”。
使用REST API检查构建详细信息(属性):例如
sourceBranch
您可以使用下面的示例代码来获取构建,然后检查GET http://server:8080/tfs/CollectionLC/TFVC-ScrumSample/_apis/build/builds/1027?api-version=2.0
以识别shelveset构建:
sourceBranch
对于其他“私有”版本,您还可以检查构建属性并找出其他属性,然后相应地获取它们。