Larry cai <[email protected]>
Larry cai <[email protected]>
Agenda What is Jenkins Scriptler ? Exercise 1: Hello World in Jenkins script
console Exercise 2: Hook into Jenkins Exercise 3: Jenkins Java API Exercise 4: Find the needed Jenkins Java
method Exercise 5: Put into Jenkins Scriptler Exercise 6: Learn more Groovy
Jenkins Scriptler in 90 minutes2
Jenkins Scriptler Administering your jenkins scripts, which is
used to trouble-shooting and diagnostics or routing tasks in jenkins
Provides a way to share scripts between users via hosted script catalogs on the internet.
Install plugin
Usehttp://<jenkins job>/scriptler/or
Jenkins -> Scriptler (system menu)
Jenkins Scriptler in 90 minutes3
https://wiki.jenkins-ci.org/display/JENKINS/Scriptler+Plugin
Jenkins script Jenkins script can access to Jenkins instance
data and manipulate directly Jenkins script use Groovy, which is an agile
and dynamic language for the Java Virtual Machine
a.k.a java-like script language over JVM
Jenkins Scriptler in 90 minutes4
Exercise 1 – Hello World Jenkins Console the place to exercise the
Jenkins script
Jenkins Scriptler in 90 minutes5
https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Script+Console
Exercise 2 – Hook into Jenkins Get the jenkins java instance
ji = jenkins.model.Jenkins.instance All the items (include jobs)
jobs = ji.items Printout the job names started with “test”
Jenkins Scriptler in 90 minutes6
Exercise 3: Jenkins Java API Script use jenkins JAVA API to access internal
datahttp://javadoc.jenkins-ci.org/
Jenkins instance is http://javadoc.jenkins-ci.org/jenkins/model/Jenkins.html
Then locate “getAllItems()” API
Jenkins Scriptler in 90 minutes7
Exercise 4 – Find the needed method Find the Item API and try to printout the url for
the jobs
If needed, check the source code if java developershttps://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/Item.java
Otherwise Check samples ;-)Jenkins Scriptler in 90 minutes8
Exercise 5: Put into Jenkins Scriptler Now put the scripts into Jenkins Scriptler Id & Name: geturl
Add parameter for “job_prefix”, use “$name”
Jenkins Scriptler in 90 minutes9
Exercise 6: learn more Groovy Install Groovy Console
http://groovy.codehaus.org/ Learn loop syntax
http://groovy.codehaus.org/Looping
List string in closures way
Jenkins Scriptler in 90 minutes10
Reference Market place
http://scriptlerweb.appspot.com/catalog/list https://github.com/jenkinsci/jenkins-scripts/tree/master/
scriptler
Groovy http://groovy.codehaus.org
Small guideline http://earlyandoften.wordpress.com/2013/03/11/
mastering-jenkins-making-bulk-updates-to-jobs/
Jenkins Scriptler in 90 minutes11