Thanks again. I get the following even though I give it my Docker Hub
creds, which i'm able to use to log in.
{"errors":[{"code":"UNAUTHORIZED","message":"authentication
required","detail":[{"Type":"repository","Class":"","Name":"library/jenkins","Action":"pull"}]}]}
On Friday, November 27, 2020 at 1:48:19 AM UTC-5 [email protected]
wrote:
> 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/da7a1128-54c3-4824-ac58-fb5a342c024fn%40googlegroups.com.