Thanks James.

I am trying out the CloudBees template approach using Groovy template 
transformations.

Overall, it seems nice; however, it is not clear how to access attributes in 
Groovy code. The CloudBees doc shows this trivial example of adding Groovy code:

<foo>
  <%
    for (int i=0; i<100; i++) {
      if ((i%2)==0) {
  %>
  <data>${i}</data>
  <%
      }
    }
  %>
</foo>

I’d like to use an attribute whose value is provided by the user when the job 
is instantiated. Here is a simplified example of what I am trying to do:
<foo>
  <%
      def x = “a” + $someAttribute
  %>
  <data>${x}</data>
</foo>

Unfortunately, the above example does not work. Does anyone know if it is 
possible to access attribute values in the Groovy template code?

Thanks in advance.

Bob




From: teilo [mailto:teilo+goo...@teilo.net]
Sent: Tuesday, May 21, 2013 9:11 AM
To: jenkinsci-users@googlegroups.com
Cc: 'teilo'; Bob Bick
Subject: Re: Mass Jenkins job updates

You can add new parameters, so long as you handle the fact that the parameter 
may be null in the transformer used by the template.

There's a bit about this in my presentation from the Jenkins User event in 
London, and the online docs from cloudbees should give you more details of this.

Others have pointed out there may be other ways to solve the same issue with 
various advantages/disadvantages.

On Tuesday, 21 May 2013 14:04:55 UTC+1, Bob Bick wrote:
Thanks James, that clears it up!

I guess a template could not add a new parameter. Is that correct? Or, maybe 
there is a way to define a default value that all jobs would get?

Bob

From: teilo [mailto:teilo+...@teilo.net<javascript:>]
Sent: Tuesday, May 21, 2013 8:59 AM
To: jenkins...@googlegroups.com<javascript:>
Cc: Bob Bick
Subject: Re: Mass Jenkins job updates

Hi Bob,

   "Just so I understand what you are saying... If you create a job based on a 
template, and then you make a change to the template, all jobs are 
automatically updated based on the template?"

Yes - if your jobs are based on that template then they are all automatically 
updated.

    "I have not tried this; however, I would assume that you'd need to modify 
the template and then re-run the transformation with the exact same parameters 
to re-create each job. "

That's not how the plugin works - when you create a job you no longer create a 
"FreeStyle" job or a "Maven2" job, you create a "Mytemplate" job.  The only 
thing the job will ask you for is the parameters defeined by the template, and 
these are stored in the job.  The template then converts these parameters using 
the definition stored in the template.

  "If so, that seems like a hassle because you'd need to re-run the 
transformation for many jobs which would be inefficient. "
That would be ineficient - which is why it doesn;t work like that.


Basically, if your job has been created from a template then once you update 
the template then the job is automatically updated.

However your jobs are not created from a tempalte, so you would first have to 
create a template and then convert (recreate?) your jobs to be based on the 
template.

/James

On Tuesday, 21 May 2013 13:52:19 UTC+1, Bob Bick wrote:
Thank you for the response.

Just so I understand what you are saying... If you create a job based on a 
template, and then you make a change to the template, all jobs are 
automatically updated based on the template? I have not tried this; however, I 
would assume that you'd need to modify the template and then re-run the 
transformation with the exact same parameters to re-create each job. If so, 
that seems like a hassle because you'd need to re-run the transformation for 
many jobs which would be inefficient.

Do I understand that correctly?

Thanks,

Bob

-----Original Message-----
From: jenkins...@googlegroups.com<mailto:jenkins...@googlegroups.com> 
[mailto:jenkins...@googlegroups.com] On Behalf Of teilo
Sent: Tuesday, May 21, 2013 4:03 AM
To: jenkins...@googlegroups.com<mailto:jenkins...@googlegroups.com>
Subject: Mass Jenkins job updates

I use option 4 - Jenkins enterprise

This won't be a drop in solution for you as your jobs need to be templatized 
before you can update them by just tweaking the template.  You could do this 
with some groovy but that has drawbacks if you mess up your groovy.

But Jenkins enterprise has other benefits (at least to me) that the initial 
pain of moving jobs too templates was worth it.

Configuration slicing didn't do it to me, groovy can be an issue if you only 
have a subset of your jobs share the same config - as you have to maintain a 
whitelist/blacklist.

The other option is wget and some sed/perl/... scripting

--
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 jenkinsci-use...@googlegroups.com<mailto:jenkinsci-use...@googlegroups.com>.
For more options, visit https://groups.google.com/groups/opt_out.



*** *** ***
This message contains information which may be confidential and privileged. 
Unless you are the addressee (or authorized to receive for the addressee), you 
may not use, copy or disclose to anyone the message or any information 
contained in the message. If you have received the message in error,  please 
advise the sender by reply e-mail and delete the message.

*** *** ***
This message contains information which may be confidential and privileged. 
Unless you are the addressee (or authorized to receive for the addressee), you 
may not use, copy or disclose to anyone the message or any information 
contained in the message. If you have received the message in error,  please 
advise the sender by reply e-mail and delete the message.

*** *** ***
This message contains information which may be confidential and privileged. 
Unless you are the addressee (or authorized to receive for the addressee), you 
may not use, copy or disclose to anyone the message or any information 
contained in the message. If you have received the message in error,  please 
advise the sender by reply e-mail and delete the message.

-- 
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 jenkinsci-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to