try https://registry.hub.docker.com/v2/library/jenkins/tags/list

[email protected] schrieb am Donnerstag, 26. November 2020 um 17:07:46 UTC+1:

> I read the page you linked, and the part regarding tags pagination. I 
> infer from the page that I should be able to get a list of tags with the 
> following.
>
> https://hub.docker.com/v2/repositories/library/jenkins/tags/list
>
> But if I paste the URL on my browser, I get
>
> "txnid": "REPOSREQ-29168001-2818-486d-9af5-45c455b6155e",
>   "message": "tag 'list' not found",
>   "errinfo": {
>     "api_call_docker_id": "",
>     "api_call_name": "GetRepositoryTag",
>     "api_call_start": "2020-11-26T16:03:21.274810611Z",
>     "api_call_txnid": "REPOSREQ-29168001-2818-486d-9af5-45c455b6155e",
>     "namespace": "library",
>     "repository": "jenkins",
>     "tag": "list"
>   }
> }
> On Thursday, November 26, 2020 at 10:10:01 AM UTC-5 [email protected] 
> wrote:
>
>> Yeah that makes sense. Thanks.
>>
>> Chris
>>
>> On Thursday, November 26, 2020 at 2:50:04 AM UTC-5 [email protected] 
>> wrote:
>>
>>> The problem  probably is that the centos image is not in the first  30 
>>> results . You would need to get the next page(s) until you find a centos 
>>> image.
>>> See https://docs.docker.com/registry/spec/api/#tags for details. And 
>>> remember that this endpoint has a limit on the numbe rof requests in a 
>>> certain timeframe, so be sure to cache the result.
>>> [email protected] schrieb am Mittwoch, 25. November 2020 um 16:35:57 
>>> UTC+1:
>>>
>>>> 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/147273a9-73d9-43cd-9df7-5d7db526d260n%40googlegroups.com.

Reply via email to