gpt4 book ai didi

rest - TFS REST API 在分支上获得最新的成功构建

转载 作者:行者123 更新时间:2023-12-01 05:09:59 25 4
gpt4 key购买 nike

我正在尝试获取 TFS 定义的最新版本。
但是我得到了所有的 sourceBranch 值,我想在与 TeamCity 相同的查询中进行过滤。
这在 TFS 中可能吗?

我使用的查询类似于:

url/builds?statusFilter=completed&resultFilter=succeeded&definitions=10&api-version=2.0

根据提供的文档https://www.visualstudio.com/en-us/docs/integrate/api/build/builds#get-a-build找不到在同一个请求中查询的简单方法。

有没有人以前做过?我认为这在 TFS 中非常基本但很困难。

最佳答案

默认情况下,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 ,这意味着您可以为在特定分支上排队的构建创建标记。

另一种解决方法是使用第三种工具(例如 PowerShell)过滤分支。

您可以使用下面的 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

关于rest - TFS REST API 在分支上获得最新的成功构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46106568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com