提问人:MartinZ 提问时间:11/17/2023 更新时间:11/17/2023 访问量:48
使用 cURL 从 Azure DevOps 下载通用项目
Download universal artifact from azure devops using cURL
问:
我想从 Azure devops artifactory 下载通用/UPack 项目。我知道我可以使用 Azure CLI,但这意味着需要安装 Azure CLI,这是最后的手段。
我已经为 maven 工件实现了类似的方法,但我无法为通用/UPack 工件找出正确的方法。
以下代码将获取最新版本的 maven 工件并下载包中的特定文件。
PKG_VERSION=$(curl -s -u $ARTIFACTORY_USERNAME:$ARTIFACTORY_PASSWORD "https://feeds.dev.azure.com/<ORGANISATION_NAME>/<PROJECT_ID>/_apis/packaging/feeds/<FEED_ID>/packages?packageNameQuery=<GROUP_NAME>:<ARTIFACT_ID>&api-version=6.0" | jq -r ".value[0].versions[0].normalizedVersion")
curl -u $ARTIFACTORY_USERNAME:$ARTIFACTORY_PERSONAL_ACCESS_TOKEN -o /app/boot.jar -L https://pkgs.dev.azure.com/<ORGANISATION_NAME>/<PROJECT_ID>/_apis/packaging/feeds/<FEED_ID>/maven/<GROUP_NAME>/<ARTIFACT_ID>/$PKG_VERSION/<JAR_FILE_NAME>/content
有没有办法做与 universal/UPack 类似的事情,但有一个额外的条件:下载该包的全部内容,而不仅仅是单个文件。
答:
0赞
Bright Ran-MSFT
11/17/2023
#1
与 Azure Artifacts 中的其他包类型不同,通用类型包没有可用的“下载包
”,可以使用 REST API。因此,不能使用 curl 命令调用 REST API 来下载通用包。
目前,下载通用包的唯一可用方法是使用“az artifacts universal download
”命令。
如果你的项目确实需要一个通用包的 REST API,可以通过 curl 命令调用来下载通用包,我建议你尝试在开发者社区上报告功能请求。这将使产品团队更方便地接收和理解您的想法。你的反馈也可能有助于改进Azure DevOps产品。
评论
GET
https://pkgs.dev.azure.com/{organization}/{project}/_apis/packaging/feeds/{feedId}/upack/packages/{packageName}/versions/{packageVersion}/content?api-version=6.0