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.
