I couldn't get that to work right but got a little but further using the
JsonSlurper (as opposed to JsonSlurperClassic)

Assuming my data structure is represented in json like:

{
  "name": "templates",
  "tags": [
    "qa_tmpl-92",
    "qa_tmpl-93",
    "qa_tmpl-94"
  ]
}

I was trying something like this:

import groovy.json.JsonSlurper
try {
    List<String> artifacts = new ArrayList<String>()
    def artifactsUrl = "http://localhost:5000/v2/templates/tags/list";

    def artifactsObjectRaw = ["curl", "-s", "-H", "accept:
application/json", "-k", "--url", "${artifactsUrl}"].execute().tags
    def jsonSlurper = new JsonSlurper()
    def artifactsJsonObject = jsonSlurper.parseText(artifactsObjectRaw)
    def dataArray = artifactsJsonObject.data
    for(item in dataArray){
        if (item.isMetadata== false)
        artifacts.add(item.tags)
    }
    return artifacts
} catch (Exception e) {
    print "There was a problem fetching the artifacts"
}

Running in groovysh, it didn't show me an error, but I ended up in the
catch, so I think the way I am trying to do curl, this bit in particular
(${artifactsUrl}"].execute().tags) is wrong.

There was a problem fetching the artifacts ===> null


Can anyone point me in the right direction here?

On Mon, Oct 19, 2020 at 5:07 PM Kari Cowan <[email protected]> wrote:

> Nice. That’s a good tip. Thanks 😊
>
> On Mon, Oct 19, 2020 at 4:36 PM Jan Monterrubio <[email protected]>
> wrote:
>
>> Yep, if docker tags can return you json, you can just slurp stuff and
>> transform it.
>>
>> On Mon, Oct 19, 2020 at 09:27 Kari Cowan <[email protected]> wrote:
>>
>>> This is clever - thanks.
>>>
>>> I don't have a directory of files in my git project- but I am guessing I
>>> could write something to add - like a deployment tag list that matches the
>>> docker registry?
>>>
>>> Ideally I would pull the docker register tag list and use that.
>>>
>>>
>>> On Fri, Oct 16, 2020 at 1:15 PM [email protected] <
>>> [email protected]> wrote:
>>>
>>>>  import groovy.json.JsonSlurperClassic
>>>>  def jsonSlurper = new JsonSlurperClassic()
>>>> def response = jsonSlurper.parse(new URL("SOME REPO HERE"))
>>>> return response
>>>>
>>>> It was something like that ^
>>>>
>>>> You can always start with a "return [ 'a', 'b'] " , we used the
>>>> ActiveChoice reactive parameter
>>>>
>>>>
>>>> On Thursday, October 15, 2020 at 11:32:33 PM UTC-5 [email protected]
>>>> wrote:
>>>>
>>>>> I’ve used the extended choice parameter to pull a list of files from a
>>>>> directory in github and display a set of checkboxes. I’ll remember to grab
>>>>> you a snippet tomorrow during work!
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Oct 15, 2020 at 17:01 Kari Cowan <[email protected]> wrote:
>>>>>
>>>>>> I am working on a Jenkins job to rollback a Docker container to the
>>>>>> previous version.  This on its own is pretty straight-forward, but what I
>>>>>> want to do is get my list of available tags from the registry. As opposed
>>>>>> to going to the registry-page and seeing what's available, then 
>>>>>> copy/paste
>>>>>> a value into a form on Jenkins, I'd like to automate that step somehow - 
>>>>>> by
>>>>>> grabbing the data from the registry page and displaying the options in a
>>>>>> choice parameter in Jenkins on the build screen.
>>>>>>
>>>>>> For example, call in the registry url by ip, example,
>>>>>> 10.11.12.199:5000/v2/some-api/tags/list might display some JSON like:
>>>>>> {"name":"some-api","tags":["qa_api-11","qa_api-12","qa_api-13"]}
>>>>>>
>>>>>> What's the best tool for this?  I'm no Groovy expert but would the
>>>>>> Extensible Choice Parameter plugin coupled with a Groovy script be useful
>>>>>> here? I'm not really clued up yet if this is possible in Groovy, but am
>>>>>> open to suggestions.  Does anyone have any tips on that or other methods
>>>>>> that are better?
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> 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/CAE7w4hg_RpwfVYAh7m9FLc1oxCPZQuqwd-eMpj6kFgBdMsJoOA%40mail.gmail.com
>>>>>> <https://groups.google.com/d/msgid/jenkinsci-users/CAE7w4hg_RpwfVYAh7m9FLc1oxCPZQuqwd-eMpj6kFgBdMsJoOA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>> --
>>>> 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/d99e92f5-f7a8-493c-b90a-997aa6aec02fn%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/jenkinsci-users/d99e92f5-f7a8-493c-b90a-997aa6aec02fn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>>> 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/CAE7w4hiWP_btV6D4oh0y0mPH92TpuwG7e-RdEM7BTP%3DbvDe-7Q%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/jenkinsci-users/CAE7w4hiWP_btV6D4oh0y0mPH92TpuwG7e-RdEM7BTP%3DbvDe-7Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> 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/CADgiF9LDMDY5WZKfYdSZPq2x9-5pMW34kRaoPMeKfEbDt%3DJcVA%40mail.gmail.com
>> <https://groups.google.com/d/msgid/jenkinsci-users/CADgiF9LDMDY5WZKfYdSZPq2x9-5pMW34kRaoPMeKfEbDt%3DJcVA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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/CAE7w4hiurFcO5OfBZOjb2P6fqse8HNMTQFszEB9yQH6YjsyH9w%40mail.gmail.com.

Reply via email to