繁体   English   中英

想要从 azure devops 构建管道中的已发布工件中读取 xml 文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM