如何使用 REST API 在 PowerShell 中获取 TFS 构建报告 [重复]
Posted
技术标签:
【中文标题】如何使用 REST API 在 PowerShell 中获取 TFS 构建报告 [重复]【英文标题】:How to get TFS build report in PowerShell with REST API [duplicate] 【发布时间】:2020-11-11 19:55:12 【问题描述】:我正在尝试通过 REST API 使用 PowerShell 脚本获取构建报告 https://docs.microsoft.com/en-us/rest/api/azure/devops/build/report/get?view=vsts-rest-tfs-4.1
$PAT = 'xxxxxxxxxxxxxxxxxxxxxxxxx'
# Base64-encodes the Personal Access Token (PAT) appropriately
# This is required to pass PAT through HTTP header
$script:User = "" # Not needed when using PAT, can be set to anything
$script:Base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("0:1" -f $User, $PAT)))
$url = "$TfsUri/$TeamProject/_apis/build/builds/$buildId/report?api-version=4.1-preview.2"
$buildReport = Invoke-RestMethod -Uri $url -Method GET -Headers @Authorization = ("Basic 0" -f $base64AuthInfo)
但我收到错误报告不支持请求的流
Invoke-RestMethod : "$id":"1","innerException":null,"message":"Requested stream is not supported for reports.","typeName":"Microsoft.TeamFoundation.Build.WebApi.ReportStreamNotSupportedE
xception, Microsoft.TeamFoundation.Build2.WebApi","typeKey":"ReportStreamNotSupportedException","errorCode":0,"eventId":3000
At C:\Source\Configurations\Scripts\CheckLastBuild.ps1:76 char:20
+ ... ildReport = Invoke-RestMethod -Uri $url -Method GET -Headers @Author ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
使用浏览器调用相同的请求可以正常工作,并返回带有构建报告的 html 文本。
我做错了什么?使用相同的方法毫无问题地获取定义、构建、发布...
【问题讨论】:
【参考方案1】:您需要添加以下网址参数:
type=html
所以,在你的情况下:
$url = "$TfsUri/$TeamProject/_apis/build/builds/$buildId/report?api-version=4.1-preview.2&type=html"
【讨论】:
感谢您的成功。你知道这个参数的允许值是多少吗?文档没有显示任何细节。 我不知道,但有人在这里回答***.com/questions/49976217/…,它只是html
以上是关于如何使用 REST API 在 PowerShell 中获取 TFS 构建报告 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 django-rest-framework 中为 API 使用 TokenAuthentication
如何在 C# 中使用 Magento 2 API 创建 REST 请求?
如何在“Zapier 代码”中编写节点获取(Rest-API)?
如何使用 REST API 在 keycloak 中重置用户密码