Azure工件-下载特定版本的maven工件

Azure工件-下载特定版本的maven工件,azure,azure-devops,azure-devops-rest-api,azure-devops-extensions,Azure,Azure Devops,Azure Devops Rest Api,Azure Devops Extensions,我们正在使用azure devops进行CI/CD流程。很多时候,为了进行一些定制构建,我们需要从artifactrepo下载特定的maven jar 有没有一种方法(命令行或API)可以做到这一点 同样,问题是从azure工件下载特定的jar Azure工件-下载特定版本的maven工件 答案是肯定的。我们可以使用REST API从azure工件下载特定的jar: GET https://pkgs.dev.azure.com/{organization}/{project}/_apis/pac

我们正在使用azure devops进行CI/CD流程。很多时候,为了进行一些定制构建,我们需要从artifactrepo下载特定的maven jar

有没有一种方法(命令行或API)可以做到这一点

同样,问题是从azure工件下载特定的jar

Azure工件-下载特定版本的maven工件

答案是肯定的。我们可以使用REST API从azure工件下载特定的jar:

GET https://pkgs.dev.azure.com/{organization}/{project}/_apis/packaging/feeds/{feedId}/maven/{groupId}/{artifactId}/{version}/{fileName}/content?api-version=5.1-preview.1
首先,我们需要获取
feedId
。我们可以使用RESTAPI获取
feedId

GET https://feeds.dev.azure.com/{organization}/{project}/_apis/packaging/feeds?api-version=5.1-preview.1
注意:如果提要是在项目中创建的,则必须提供项目参数。如果提要未与任何项目关联,请从请求中省略项目参数。

对于URL中的其他参数,我们可以从包的概述中获得它。选择包并打开包,我们可以看到以下视图:

现在,我们有了所有参数,
feedId
groupId
artifactId
版本
文件名

因此,我们可以使用REST API和
-OutFile$(Build.SourcesDirectory)\myFirstApp-1.0-20190818.032400-1.jar
下载包(内联powershell任务):

$url=”https://pkgs.dev.azure.com//_apis/packaging/feeds/83cd6431-16cc-480d-bb4d-a213e17b3a2b/maven/MyGroup/myFirstApp/1.0-SNAPSHOT/myFirstApp-1.0-20190818.032400-1.jar/content?api-版本=5.1-预览.1“
$buildPipeline=Invoke RestMethod-Uri$url-OutFile$(Build.SourcesDirectory)\myFirstApp-1.0-20190818.032400-1.jar-Headers@{
Authorization=“Bearer$env:SYSTEM\u ACCESSTOKEN”
}-方法获取
因为我的maven提要是组织范围的提要,所以我从URL中省略了项目参数

结果是:

我发现这样做:

  • 在Azure中打开订阅源页面,单击连接到订阅源

  • 选择Maven,从pom.xml示例的项目设置>
    存储库/URL
    复制URL

    应该是这样的:

    https://pkgs.dev.azure.com/YOUR-ORGANIZATION/_packaging/YOUR-FEED-NAME/maven/v1
    
  • 将工件信息附加到该链接:

    https://pkgs.dev.azure.com/YOUR-ORGANIZATION/_packaging/YOUR-FEED-NAME/maven/v1/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar
    
    提示:将其与maven repository中的进行比较:

    https://repo1.maven.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar
    

  • 这个问题怎么样?下面的答案是否解决了您的问题,如果没有,请让我知道有关此问题的最新信息?我今天将尝试它,并希望它适用于universal packages alsoThanks。我今天会尝试一下,希望它同样适用于通用软件包alsoHi Leo。对maven来说,这很好。您能告诉我如何对通用软件包类型进行同样的处理吗?@Ashutoshgupta,既然这个答案解决了您在这篇文章中的问题,请接受它作为答案。对于通用包类型,请您为这个问题打开一个新的线程,我将继续关注。一个问题一个线程被推荐。谢谢您的理解。@LeoLiu MSFT:我已经为相同的问题创建了以下查询
    https://repo1.maven.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar