That's what I essentially have already. Just need the correct 
docker_image_tags_url value, and that post didn't tell me.

On Wednesday, November 25, 2020 at 10:22:41 AM UTC-5 slide wrote:

> This might get you started: 
> https://gist.github.com/kizbitz/e59f95f7557b4bbb8bf2
>
>
>
> On Wed, Nov 25, 2020 at 7:58 AM [email protected] <[email protected]> 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 [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
>>  
>> <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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/052d273d-4ad7-4379-b5a3-98e498d10b58n%40googlegroups.com.

Reply via email to