0

我正在使用 Active Choice Reactive Parameter 插件列出 Nexus Artifacts。这是我目前正在使用的 groovy 脚本。

import groovy.json.*

def targetUrl = "https://nexus.xxxx.lk/service/rest/v1/search?repository=snapshots&format=maven2&group=com.org.pro&name=pro-service"
def jsonSlupper = new JsonSlurper().parse(URI.create(targetUrl).toURL())
def list = jsonSlupper["items"]["version"].collect().sort().reverse()

我只想在列表中显示最新的工件。有谁知道如何做到这一点?

在此处输入图像描述

4

1 回答 1

1

我们可以使用元数据 API,您可以使用快照存储库或发布存储库或公开存储库,仅限制最后 5 个版本。

詹金斯快照

def host="https://msnexus.xxx.com"
def groupId="com.xxx.cd".replaceAll("\\.", "/")
def artifactId="common-log"
def nexus_url="${host}/repository/public/${groupId}/${artifactId}/maven-metadata.xml"
def response=nexus_url.toURL().text
def metadata = new XmlParser().parseText(response)

metadata.versioning.versions.version.takeRight(5).collect({it.text()}).reverse()
于 2020-11-14T06:25:39.400 回答