I essentially want to get this list, but in a JSON format in an HTTP response. But using this link as my docker_image_tags_url value for my script doesn't work of course, that is, it gives a blank list.
https://hub.docker.com/r/jenkins/jenkins/tags?page_size=20&page=1&ordering=last_updated. On Wednesday, November 25, 2020 at 9:40:16 AM UTC-5 [email protected] wrote: > I want to use the Groovy script in this post > <https://kublr.com/blog/advanced-jenkins-groovy-scripting-for-live-fetching-of-docker-images/> > > to get Jenkins versions. So I do this, where I change the > docker_image_tags_url to point to a Jenkins end point. > > // Import the JsonSlurper class to parse Dockerhub API response > import groovy.json.JsonSlurper > // Set the URL we want to read from, it is MySQL from official Library for > this example, limited to 20 results only. > docker_image_tags_url = " > https://hub.docker.com/v2/repositories/library/jenkins/tags?page_size=30" > try { > // Set requirements for the HTTP GET request, you can add Content-Type > headers and so on... > def http_client = new URL(docker_image_tags_url).openConnection() as > HttpURLConnection > http_client.setRequestMethod('GET') > // Run the HTTP request > http_client.connect() > // Prepare a variable where we save parsed JSON as a HashMap, it's > good for our use case, as we just need the 'name' of each tag. > def dockerhub_response = [:] > // Check if we got HTTP 200, otherwise exit > if (http_client.responseCode == 200) { > dockerhub_response = new > JsonSlurper().parseText(http_client.inputStream.getText('UTF-8')) > } else { > println("HTTP response error") > System.exit(0) > } > // Prepare a List to collect the tag names into > def image_tag_list = [] > // Iterate the HashMap of all Tags and grab only their "names" into > our List > dockerhub_response.results.each { tag_metadata -> > image_tag_list.add(tag_metadata.name) > } > // The returned value MUST be a Groovy type of List or a related type > (inherited from List) > // It is necessary for the Active Choice plugin to display results in > a combo-box > return image_tag_list.sort() > } catch (Exception e) { > // handle exceptions like timeout, connection errors, etc. > println(e) > } > > However, it just returns Alpine versions. How can I get the CentOS > versions? > > Thanks, > Chris > -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/365c1f68-145b-499d-a808-bb8b96351386n%40googlegroups.com.
