Automating the Choice Parameter on a job

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Automating the Choice Parameter on a job

Kari Cowan-2
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAE7w4hg_RpwfVYAh7m9FLc1oxCPZQuqwd-eMpj6kFgBdMsJoOA%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Automating the Choice Parameter on a job

Jan Monterrubio
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 <[hidden email]> 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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAE7w4hg_RpwfVYAh7m9FLc1oxCPZQuqwd-eMpj6kFgBdMsJoOA%40mail.gmail.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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CADgiF9KZ9pd-knThXn4L9uLr5dzG2YKXip_X_RKEABWw_zarvg%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Automating the Choice Parameter on a job

Jan Monterrubio
 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 [hidden email] 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 <[hidden email]> 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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAE7w4hg_RpwfVYAh7m9FLc1oxCPZQuqwd-eMpj6kFgBdMsJoOA%40mail.gmail.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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/d99e92f5-f7a8-493c-b90a-997aa6aec02fn%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Automating the Choice Parameter on a job

Kari Cowan-2
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 [hidden email] <[hidden email]> 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 [hidden email] 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 <[hidden email]> 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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAE7w4hg_RpwfVYAh7m9FLc1oxCPZQuqwd-eMpj6kFgBdMsJoOA%40mail.gmail.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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/d99e92f5-f7a8-493c-b90a-997aa6aec02fn%40googlegroups.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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAE7w4hiWP_btV6D4oh0y0mPH92TpuwG7e-RdEM7BTP%3DbvDe-7Q%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Automating the Choice Parameter on a job

Jan Monterrubio
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 <[hidden email]> 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 [hidden email] <[hidden email]> 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 [hidden email] 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 <[hidden email]> 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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAE7w4hg_RpwfVYAh7m9FLc1oxCPZQuqwd-eMpj6kFgBdMsJoOA%40mail.gmail.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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/d99e92f5-f7a8-493c-b90a-997aa6aec02fn%40googlegroups.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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAE7w4hiWP_btV6D4oh0y0mPH92TpuwG7e-RdEM7BTP%3DbvDe-7Q%40mail.gmail.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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CADgiF9LDMDY5WZKfYdSZPq2x9-5pMW34kRaoPMeKfEbDt%3DJcVA%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Automating the Choice Parameter on a job

Kari Cowan-2
Nice. That’s a good tip. Thanks 😊 

On Mon, Oct 19, 2020 at 4:36 PM Jan Monterrubio <[hidden email]> 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 <[hidden email]> 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 [hidden email] <[hidden email]> 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 [hidden email] 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 <[hidden email]> 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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAE7w4hg_RpwfVYAh7m9FLc1oxCPZQuqwd-eMpj6kFgBdMsJoOA%40mail.gmail.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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/d99e92f5-f7a8-493c-b90a-997aa6aec02fn%40googlegroups.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 [hidden email].

--
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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CADgiF9LDMDY5WZKfYdSZPq2x9-5pMW34kRaoPMeKfEbDt%3DJcVA%40mail.gmail.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 [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAE7w4hiS99HWGyx%3D3PpKiAkgKLQr90PX32ta5AqkWw0ncmNOUQ%40mail.gmail.com.