过滤器是不再工作在nexus3扩展选择参数jenkins插件

l7wslrjt  于 2023-03-07  发布在  Jenkins
关注(0)|答案(1)|浏览(153)

我正在尝试获取Nexus最新版本作为Jenkins中的输入参数,使用Nexus 3扩展选择参数,
我的存储库是原始存储库,因此不包含groupid和artifacid。
我能够获取最新版本,但只有当我添加groupid=,artifactid= 和packaging=*,但在这种情况下,我得到的sha1文件和md5文件也沿着zip文件,我只需要zip在这里,但当我在 Package 文本框中添加zip时,它说**(工作,但没有找到条目)**
我期望得到这个过滤器的工作至少 Package 过滤器

vzgqcmou

vzgqcmou1#

我为类似的用例创建了一个脚本,您可以进行相应的修改,我使用它来填充扩展的选择参数:

import groovy.json.JsonSlurper
import hudson.model.*
import jenkins.model.*
Jenkins jenkins = Jenkins.getInstance()
import groovy.json.JsonSlurper
import com.cloudbees.plugins.credentials.CredentialsProvider
import com.cloudbees.plugins.credentials.domains.Domain
import com.cloudbees.plugins.credentials.domains.URIRequirementBuilder
import hudson.util.Secret

def cred = CredentialsProvider.lookupCredentials(
  com.cloudbees.plugins.credentials.common.StandardCredentials.class,
  Jenkins.instance,
  null
).find {
  it.id == "<CREDENTIALS_ID_HERE>"
}

def baseUrl = "https://<NEXUS_URL_HERE>/service/rest/v1"
def repository = "<REPO_NAME_HERE>"
def continuationToken = ""
def assets = []
def url = "${baseUrl}/search/assets?repository=${repository}"

while(true) {
    def get = new URL(url).openConnection()
    get.setRequestMethod("GET")
    get.setRequestProperty("Content-Type", "application/json")
    get.setRequestProperty("Authorization", "Basic ${cred.getSecret().getPlainText()}")
    def getRC = get.getResponseCode()
    def getResponse = get.getInputStream().getText()
    def finalresponse = new JsonSlurper().parseText(getResponse)

    if (finalresponse.items.path) {
        finalresponse.items.each { item ->
           
                assets.add([item.path])
            }
        }
    if(finalresponse.continuationToken) {
        continuationToken = finalresponse.continuationToken
        url = "${baseUrl}/search/assets?repository=${repository}&continuationToken=${continuationToken}"
    } else {
        break
    }
}
assets = assets.sort { a, b -> b[1].compareTo(a[1]) }.collect { it[0] }

return assets

相应地更改占位符。还请浏览Nexus API文档,您可以使用Postman来测试类似的用例。

相关问题