JenkinsGroovy » History » Version 10
Andreas Kohlbecker, 08/15/2013 05:31 PM
1 | 1 | Andreas Kohlbecker | |
---|---|---|---|
2 | # Groovy Scripts for Jenkins |
||
3 | |||
4 | |||
5 | You can evaluate groovy scripts in the Jenkins _Script Console_. |
||
6 | |||
7 | |||
8 | There are several plugins which can be _programmed_ with Groovy: |
||
9 | |||
10 | 4 | Andreas Kohlbecker | * [Groovy plugin](https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin) |
11 | |||
12 | * [Dynamic Parameter Plug-in](https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Dynamic+Parameter+Plug-in) |
||
13 | |||
14 | 9 | Andreas Kohlbecker | * [Groovy Postbuild Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Groovy+Postbuild+Plugin) |
15 | |||
16 | 4 | Andreas Kohlbecker | * [Groovy Remote Control](http://groovy.codehaus.org/modules/remote/) |
17 | |||
18 | * [Scriptler plugin](https://wiki.jenkins-ci.org/display/JENKINS/Scriptler+Plugin) |
||
19 | 1 | Andreas Kohlbecker | |
20 | |||
21 | |||
22 | ---- |
||
23 | |||
24 | |||
25 | 6 | Andreas Kohlbecker | ### Get all versions of an artifact from a maven repository |
26 | |||
27 | 1 | Andreas Kohlbecker | ~~~ |
28 | def metadata = new XmlSlurper().parse("http://wp5.e-taxonomy.eu/mavenrepo/eu/etaxonomy/cdm-server/maven-metadata.xml") |
||
29 | 5 | Andreas Kohlbecker | metadata.versioning.versions.version.each{ |
30 | println "> " + it |
||
31 | 1 | Andreas Kohlbecker | } |
32 | ~~~ |
||
33 | 2 | Andreas Kohlbecker | |
34 | doc: |
||
35 | |||
36 | * http://groovy.codehaus.org/api/groovy/util/XmlSlurper.html |
||
37 | 3 | Andreas Kohlbecker | |
38 | 1 | Andreas Kohlbecker | * http://www.ibm.com/developerworks/java/library/j-pg05199/ |
39 | 6 | Andreas Kohlbecker | |
40 | |||
41 | 7 | Andreas Kohlbecker | the same for the **Dynamic Parameter Plug-in** which is very nice in conjunction with the *[Repository Connector Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Repository+Connector+Plugin) |
42 | 6 | Andreas Kohlbecker | |
43 | |||
44 | ~~~ |
||
45 | def metadata = new XmlSlurper().parse("http://wp5.e-taxonomy.eu/mavenrepo/eu/etaxonomy/cdm-server/maven-metadata.xml") |
||
46 | def list = [] |
||
47 | metadata.versioning.versions.version.each{ |
||
48 | list.add(it) |
||
49 | } |
||
50 | 8 | Andreas Kohlbecker | return return list.reverse(true) |
51 | 6 | Andreas Kohlbecker | ~~~ |
52 | 10 | Andreas Kohlbecker | |
53 | |||
54 | ### find last bean in datasources.xml |
||
55 | |||
56 | |||
57 | ~~~ |
||
58 | // find last bean in datasources.xml |
||
59 | def beans = new XmlParser().parse("/etc/cdmserver/datasources.xml") |
||
60 | def lastBean = null |
||
61 | beans.bean.findAll{it.attribute("class") == "com.mchange.v2.c3p0.ComboPooledDataSource"}.each{ |
||
62 | lastBean = it |
||
63 | } |
||
64 | println lastBean |
||
65 | ~~~ |