33 lines
863 B
Groovy
33 lines
863 B
Groovy
#!/usr/bin/env groovy
|
|
|
|
import java.net.URLEncoder
|
|
|
|
Map call(Map config = [:]) {
|
|
Map defaults = [
|
|
nexusBase: 'https://repo.thejimnicholson.com',
|
|
searchAPI: 'service/rest/v1/search',
|
|
queryParams: [
|
|
'repository': 'tools',
|
|
'sort': 'name',
|
|
'name': 'test.something'
|
|
]
|
|
]
|
|
Map runConfig = defaults + config
|
|
|
|
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
|
|
}
|