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.
