From c0f2e31b97ad2ec079f7162e5211499eed1fff2d Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 20:24:39 -0800 Subject: [PATCH] Add Versioning without grab --- vars/addVersionFromNexusRepo.groovy | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/vars/addVersionFromNexusRepo.groovy b/vars/addVersionFromNexusRepo.groovy index 68627d4..ef8072a 100644 --- a/vars/addVersionFromNexusRepo.groovy +++ b/vars/addVersionFromNexusRepo.groovy @@ -1,19 +1,32 @@ #!/usr/bin/env groovy -import groovyx.net.http.URIBuilder +import java.net.URLEncoder Map call(Map config = [:]) { Map defaults = [ nexusBase: 'https://repo.thejimnicholson.com', searchAPI: 'service/rest/v1/search', - repositoryName: 'tools' + queryParams: [ + 'repository': 'tools', + 'sort': 'name', + 'name': 'test.something' + ] ] Map runConfig = defaults + config - nexusSearch = new URIBuilder(runConfig.nexusBase) - /* groovylint-disable-next-line UnnecessarySetter */ - nexusSearch.setPath(runConfig.searchAPI) - nexusSearch.addQueryParam('repository', runConfig.repositoryName) + nexusSearch = buildUrlWithQueryParams(runConfig.nexusBase, runConfig.queryParams) + runConfig.nexusQuery = nexusSearch return runConfig } + +def buildUrlWithQueryParams(baseUrl, queryParams) { + def url = baseUrl + if (!queryParams.empty) { + def queryParamsString = queryParams.collect { key, value -> + "${URLEncoder.encode(key, 'UTF-8')}=${URLEncoder.encode(value, 'UTF-8')}" + }.join('&') + url += '?' + queryParamsString + } + return url +}