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.