Hello Kari

As far as I know JsonSlurper isn't Serializable and defining it for re-use
will raise a NotSerializableException and this end up in the catch block.

You could either move the Code insider a @NonCPS annotated method or doing
everything in one statement.

Kari Cowan <[email protected]> schrieb am Do., 22. Okt. 2020, 23:25:

> 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
> <https://groups.google.com/d/msgid/jenkinsci-users/CAE7w4hiurFcO5OfBZOjb2P6fqse8HNMTQFszEB9yQH6YjsyH9w%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/CABhPqdF%2BG_QR1KE1s%2BFS8YZcEebtZ%3D9SK7A_1E-c0mO6P62_BA%40mail.gmail.com.

Reply via email to