Azure devops 使用RESTAPI访问Azure Dev Ops/VSTS工件中的文件内容

Azure devops 使用RESTAPI访问Azure Dev Ops/VSTS工件中的文件内容,azure-devops,azure-pipelines-release-pipeline,azure-pipelines-build-task,azure-devops-rest-api,azure-artifacts,Azure Devops,Azure Pipelines Release Pipeline,Azure Pipelines Build Task,Azure Devops Rest Api,Azure Artifacts,我希望获得我作为工件推送到Azure DevOps的文件的内容 通过使用这个API,我能够获得一个带有指向工件zip的URL的json响应 https://dev.azure.com/uifabric/cd9e4e13-b8db-429a-9c21-499bf1c98639/_apis/build/builds/8838/artifacts?artifactName=drop&api-version=5.0 然而,我真正想要的是这个zip中名为bundlesizes.json的文件的内

我希望获得我作为工件推送到Azure DevOps的文件的内容

通过使用这个API,我能够获得一个带有指向工件zip的URL的json响应

https://dev.azure.com/uifabric/cd9e4e13-b8db-429a-9c21-499bf1c98639/_apis/build/builds/8838/artifacts?artifactName=drop&api-version=5.0
然而,我真正想要的是这个zip中名为
bundlesizes.json
的文件的内容

我确实遇到了getfileapi,它提到了一个API,如下所示

GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/artifacts?artifactName={artifactName}&fileId={fileId}&fileName={fileName}&api-version=5.0
https://dev.azure.com/uifabric/fabricpublic/_apis/build/builds/8838/artifacts?artifactName=drop&fileId=bundlesizes.json&fileName=bundlesizes.json&api-version=5.0
我试着如下替换它

GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/artifacts?artifactName={artifactName}&fileId={fileId}&fileName={fileName}&api-version=5.0
https://dev.azure.com/uifabric/fabricpublic/_apis/build/builds/8838/artifacts?artifactName=drop&fileId=bundlesizes.json&fileName=bundlesizes.json&api-version=5.0
然而,我得到了这个错误


我想我缺少的是
fileId
字段,在这里我不知道需要输入什么。文档中说,
fileId
是文件的主键。但是,我不知道在哪里可以找到它。

Microsoft没有关于如何获取文件ID的完整文档

您可以采用不同的方法,使用下面的API下载该文件。您可以通过获取构建详细信息来获取容器ID


如何获取容器id?@gsscoder“URL/_api/build/builds/{buildid}/artifacts”您在resource.data上有容器id。感谢您的回复。你的意思是:?@gsscoder:你找到上面问题的答案了吗?我正在尝试做同样的事情,并且想知道如何做到这一点。@MAK您能得到下面的API响应吗/_API/构建/构建//工件