This might get you started:
https://gist.github.com/kizbitz/e59f95f7557b4bbb8bf2



On Wed, Nov 25, 2020 at 7:58 AM zil...@gmail.com <zill...@gmail.com> wrote:

> 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 zil...@gmail.com
> 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 jenkinsci-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/365c1f68-145b-499d-a808-bb8b96351386n%40googlegroups.com
> <https://groups.google.com/d/msgid/jenkinsci-users/365c1f68-145b-499d-a808-bb8b96351386n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>


-- 
Website: http://earl-of-code.com

-- 
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 jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/CAPiUgVeiD%3DJGyqKiwiS_bow0QD-kMFQfcOVJ3Rb%3DH37ETwsgJw%40mail.gmail.com.

Reply via email to