![](/img/trans.png)
[英]How to get the list of published artifacts from an Azure DevOps build
[英]Want to read xml file from published artifacts in azure devops build pipeline
我正在使用 azure-DevOps 构建管道来运行和发布 postman Newman 报告作为管道工件。 我的管道确实发布了管道工件(postman 的 HTML 报告,并且还在 XML 文件中提供了 Newman 报告)。
我的要求是使用 azure-DevOps API 我想阅读 XML 文件。 &这个 API 我必须从我的程序(nodeJs/Python)中调用。
知道怎么做吗? 提前致谢 注意:我看到 ADO 仍在处理 fileId(不确定如何获取 fileID)https://github.com/MicrosoftDocs/vsts-rest-api-specs/issues/381
azure pipeline 中发布的工件提供下载 url 以获取文件。 您可以直接从构建摘要门户下载 url。 见下文:
3dots
发布的神器-->点击你要下载的文件的3点
您可以直接调用下载 url 来读取代码中的 xml 文件。 请参阅 powershell 脚本中的以下示例:
$url = "https://dev.azure.com/{org}/_apis/resources/Containers/{containerId}/{artifactName}?itemPath=artifactName%2Fbuild.xml"
$PAT="Personal access token"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($PAT)"))
$xmlContent = Invoke-RestMethod -Uri $url -Headers @{authorization = "Basic $base64AuthInfo"} -Method get
如果您不想从 UI 门户下载 url。 您可以调用Artifacts - Get Artifact来获取容器 ID。 获取容器id后即可下载xml文件的url文件。
GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/artifacts?artifactName={artifactName}&api-version=6.0
请参见上面 rest api 的示例结果。
下载 url:
https://dev.azure.com/{org}/_apis/resources/Containers/{containerId}/{artifactName}?itemPath={artifactName}%2F{xmlfileName.xml}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.