entry : variables.entrySet()) {
39 | env.put(entry.getKey(), entry.getValue());
40 | }
41 | Process process = builder.start();
42 |
43 | try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream(), StandardCharsets.UTF_8))) {
44 | String line;
45 | while ((line = reader.readLine()) != null) {
46 | println(listener, line);
47 | }
48 | }
49 |
50 | } catch (Throwable e) {
51 | e.printStackTrace();
52 | println(listener, "[ERROR] Failed to execute: " + script.getName() + ", " + e.getMessage());
53 | } finally {
54 | if (null != temp) {
55 | if (temp.delete()) {
56 | println(listener, "[WARNING] Failed to delete temp file: " + temp.getName());
57 | }
58 | }
59 | }
60 | }
61 |
62 | private String getExecutable(File script) {
63 | return FileUtils.getExtension(script.getAbsolutePath());
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/src/main/resources/com/orctom/jenkins/plugin/globalpostscript/GlobalPostScript/global.jelly:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | Only if build is stable
10 | Even if the build is unstable
11 | Even if the build fails
12 | Always run, even if the job was aborted
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/main/resources/com/orctom/jenkins/plugin/globalpostscript/GlobalPostScriptAction/badge.jelly:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | ${it.displayName}
8 |
9 |
--------------------------------------------------------------------------------
/src/main/resources/index.jelly:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 | This plugin execute a script configured in global configure after all builds, all jobs.
7 | Caution: jython script supports removed since 1.1.0
8 |
9 |
--------------------------------------------------------------------------------
/src/main/webapp/img/calendar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/calendar.png
--------------------------------------------------------------------------------
/src/main/webapp/img/cancel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/cancel.png
--------------------------------------------------------------------------------
/src/main/webapp/img/check.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/check.png
--------------------------------------------------------------------------------
/src/main/webapp/img/computer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/computer.png
--------------------------------------------------------------------------------
/src/main/webapp/img/danger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/danger.png
--------------------------------------------------------------------------------
/src/main/webapp/img/error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/error.png
--------------------------------------------------------------------------------
/src/main/webapp/img/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/file.png
--------------------------------------------------------------------------------
/src/main/webapp/img/good.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/good.png
--------------------------------------------------------------------------------
/src/main/webapp/img/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/green.png
--------------------------------------------------------------------------------
/src/main/webapp/img/laptop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/laptop.png
--------------------------------------------------------------------------------
/src/main/webapp/img/lock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/lock.png
--------------------------------------------------------------------------------
/src/main/webapp/img/orange.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/orange.png
--------------------------------------------------------------------------------
/src/main/webapp/img/planning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/planning.png
--------------------------------------------------------------------------------
/src/main/webapp/img/profit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/profit.png
--------------------------------------------------------------------------------
/src/main/webapp/img/prohibited.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/prohibited.png
--------------------------------------------------------------------------------
/src/main/webapp/img/red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/red.png
--------------------------------------------------------------------------------
/src/main/webapp/img/server.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/server.png
--------------------------------------------------------------------------------
/src/main/webapp/img/star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/star.png
--------------------------------------------------------------------------------
/src/main/webapp/img/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/success.png
--------------------------------------------------------------------------------
/src/main/webapp/img/warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/warning.png
--------------------------------------------------------------------------------
/src/main/webapp/img/yellow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/global-post-script-plugin/6ef4d89279fe1b4c4f19f4622294893ba7f36040/src/main/webapp/img/yellow.png
--------------------------------------------------------------------------------
/src/test/java/com/orctom/jenkins/plugin/globalpostscript/ScriptTest.java:
--------------------------------------------------------------------------------
1 | package com.orctom.jenkins.plugin.globalpostscript;
2 |
3 | import com.orctom.jenkins.plugin.globalpostscript.runner.GroovyScriptRunner;
4 | import hudson.model.TaskListener;
5 | import hudson.util.LogTaskListener;
6 | import org.apache.commons.lang.StringUtils;
7 | import org.junit.Assert;
8 | import org.junit.Before;
9 | import org.junit.Test;
10 |
11 | import java.io.ByteArrayOutputStream;
12 | import java.io.File;
13 | import java.io.PrintStream;
14 | import java.util.HashMap;
15 | import java.util.Map;
16 | import java.util.logging.Level;
17 | import java.util.logging.Logger;
18 |
19 | /**
20 | * script tests
21 | * Created by hao on 6/26/2014.
22 | */
23 | public class ScriptTest {
24 |
25 | private Map variables = new HashMap();
26 |
27 | private TaskListener listener = new LogTaskListener(Logger.getLogger(ScriptTest.class.getName()), Level.ALL) {
28 |
29 | private PrintStream logger = new PrintStream(new ByteArrayOutputStream()) {
30 | private StringBuilder logs = new StringBuilder();
31 | @Override
32 | public void println(String x) {
33 | logs.append(x).append(System.getProperty("line.separator"));
34 | }
35 |
36 | @Override
37 | public void print(String x) {
38 | logs.append(x);
39 | }
40 |
41 | @Override
42 | public String toString() {
43 | return logs.toString();
44 | }
45 | };
46 |
47 | @Override
48 | public PrintStream getLogger() {
49 | return logger;
50 | }
51 | };
52 |
53 | private GlobalPostScript.BadgeManager manager = new GlobalPostScript.BadgeManager(null, null) {
54 | @Override
55 | public void addBadge(String icon, String text) {
56 | System.out.println("addBadge: " + icon + ", " + text);
57 | }
58 |
59 | @Override
60 | public void addShortText(String text) {
61 | System.out.println("addShortText: " + text);
62 | }
63 |
64 | @Override
65 | public void triggerJob(String jobName) {
66 | System.out.println("triggerJob: " + jobName);
67 | }
68 |
69 | @Override
70 | public void triggerRemoteJob(String jobTriggerUrl) {
71 | System.out.println("triggerRemoteJob: " + jobTriggerUrl);
72 | }
73 |
74 | @Override
75 | public String getCause() {
76 | return "dummy cause";
77 | }
78 | };
79 |
80 | @Before
81 | public void before() {
82 | variables.put("dropdeploy_targets", "server1");
83 | }
84 |
85 | @Test
86 | public void testExecuteGroovy() {
87 | File script = new File(ClassLoader.getSystemResource("test.groovy").getPath());
88 | System.out.println("script: " + script);
89 | String expected = "dropdeploy to: server1";
90 | new GroovyScriptRunner().run(script, variables, manager, listener);
91 | String actual = StringUtils.trim(listener.getLogger().toString());
92 | System.out.println("expected: " + expected);
93 | System.out.println("actual : " + actual);
94 | Assert.assertEquals(expected, actual);
95 | }
96 |
97 | @Test
98 | public void testExecuteGroovy2() {
99 | File script = new File(ClassLoader.getSystemResource("test2.groovy").getPath());
100 | System.out.println("script: " + script);
101 | String expected = "dropdeploy to: server1";
102 | new GroovyScriptRunner().run(script, variables, manager, listener);
103 | String actual = StringUtils.trim(listener.getLogger().toString());
104 | System.out.println("expected: " + expected);
105 | System.out.println("actual : " + actual);
106 | Assert.assertEquals(expected, actual);
107 | }
108 | }
109 |
--------------------------------------------------------------------------------
/src/test/java/com/orctom/jenkins/plugin/globalpostscript/URLTest.java:
--------------------------------------------------------------------------------
1 | package com.orctom.jenkins.plugin.globalpostscript;
2 |
3 | import com.orctom.jenkins.plugin.globalpostscript.model.URL;
4 | import org.junit.Assert;
5 | import org.junit.Test;
6 |
7 | /**
8 | * url tests
9 | * Created by hao on 8/13/2014.
10 | */
11 | public class URLTest {
12 |
13 | @Test
14 | public void testPattern() {
15 | Assert.assertTrue(URL.PATTERN.matcher("http://www.google.com").matches());
16 | Assert.assertTrue(URL.PATTERN.matcher("http://www.google.com:100/abc?hello").matches());
17 | Assert.assertTrue(URL.PATTERN.matcher("https://google.com/a?a=b&b=a+b+c").matches());
18 | Assert.assertTrue(URL.PATTERN.matcher("http://10.20.13.15/hello/abc?a=b&b=a+b+c").matches());
19 | Assert.assertTrue(URL.PATTERN.matcher("https://10.20.13.15/hello/abc?a=b&b=a+b+c").matches());
20 |
21 | Assert.assertFalse(URL.PATTERN.matcher("http:/www.google.com").matches());
22 | Assert.assertFalse(URL.PATTERN.matcher("//www.google.com:80/h").matches());
23 | Assert.assertFalse(URL.PATTERN.matcher("http:/www.google.com").matches());
24 | Assert.assertTrue(URL.PATTERN.matcher("http://10.20.13/").matches());
25 | Assert.assertTrue(URL.PATTERN.matcher("http://ecopsci.uschecomrnd.net/buildByToken/build?job=sync_ag2content_to_dev&token=8a36b668396e7aed7b4576f90bbbdc37").matches());
26 | }
27 |
28 | @Test
29 | public void testAppendToParamValue() {
30 | String jobUrl = "http://ecopsci.uschecomrnd.net/buildByToken/build?job=sync_ag2content_to_dev&token=8a36b668396e7aed7b4576f90bbbdc37";
31 | URL url = new URL(jobUrl);
32 | Assert.assertEquals(jobUrl, url.getURL());
33 | Assert.assertEquals("ecopsci.uschecomrnd.net", url.getHost());
34 | Assert.assertEquals("http://", url.getProtocol());
35 | Assert.assertEquals("/buildByToken/build", url.getUri());
36 | Assert.assertEquals("job=sync_ag2content_to_dev&token=8a36b668396e7aed7b4576f90bbbdc37", url.getQueryString());
37 | url.appendToParamValue("job", "_appendix");
38 | Assert.assertEquals("job=sync_ag2content_to_dev_appendix&token=8a36b668396e7aed7b4576f90bbbdc37", url.getQueryString());
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/test/resources/downstream_job_trigger.groovy:
--------------------------------------------------------------------------------
1 | def triggers = [
2 | wwwsqs8 : {
3 | manager.triggerJob("WWW_JBEHAVE_TEST")
4 | manager.triggerJob("WWW_MOBILE_API_TEST")
5 | manager.triggerRemoteJob("http://10.94.0.137:8006/job/Dev_Launch_WWW_SQS_REGRESSION/build?token=88e4b5fd1d28949710a9c4924775ce40&delay=1800sec")
6 | },
7 | wwwsqm8 : {
8 | manager.triggerRemoteJob("http://10.94.0.137:8006/job/Dev_Launch_WWW_SQM_REGRESSION/build?token=88e4b5fd1d28949710a9c4924775ce40&delay=1800sec")
9 | },
10 | wwwsqp8 : {
11 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/wwwsqp_deploy/build?token=wwwsqp_deploy")
12 | },
13 | bsdsqs8 : {
14 | manager.triggerJob("BSD_JBEHAVE_TEST")
15 | manager.triggerJob("BSD_MOBILE_API_TEST")
16 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/BSD_DEPLOY/buildWithParameters?token=BSD_DEPLOY&target=bsdsqs8")
17 | manager.triggerRemoteJob("http://10.94.0.137:8006/job/Dev_Launch_BSD_SQS_REGRESSION/build?token=88e4b5fd1d28949710a9c4924775ce40&delay=1800sec")
18 | },
19 | bsdsqm8 : {
20 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/BSD_DEPLOY/buildWithParameters?token=BSD_DEPLOY&target=bsdsqm8")
21 | manager.triggerRemoteJob("http://10.94.0.137:8006/job/Dev_Launch_BSD_SQM_REGRESSION/build?token=88e4b5fd1d28949710a9c4924775ce40&delay=1800sec")
22 | },
23 | bsdsqd8 : {
24 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/BSD_DEPLOY/buildWithParameters?token=BSD_DEPLOY&target=bsdsqd")
25 | },
26 | bsdsqe8 : {
27 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/BSD_DEPLOY/buildWithParameters?token=BSD_DEPLOY&target=bsdsqe8")
28 | },
29 | bsdsqf8 : {
30 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/BSD_DEPLOY/buildWithParameters?token=BSD_DEPLOY&target=bsdsqf8")
31 | },
32 | bsdsqp8 : {
33 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/BSD_DEPLOY/buildWithParameters?token=BSD_DEPLOY&target=bsdsqp8")
34 | },
35 | bsdperf8 : {
36 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/BSD_DEPLOY/buildWithParameters?token=BSD_DEPLOY&target=bsdperf8")
37 | },
38 | bsdprfp8 : {
39 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/BSD_DEPLOY/buildWithParameters?token=BSD_DEPLOY&target=bsdprfp")
40 | },
41 | bsd1sqs8 : {
42 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/BSD_DEPLOY/buildWithParameters?token=BSD_DEPLOY&target=bsd1sqs8")
43 | },
44 | bsd1sqm8 : {
45 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/BSD_DEPLOY/buildWithParameters?token=BSD_DEPLOY&target=bsd1sqm8")
46 | },
47 | bsd1sqp8 : {
48 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/BSD_DEPLOY/buildWithParameters?token=BSD_DEPLOY&target=bsd1sqp8")
49 | },
50 | gmlsqs8 : {
51 | manager.triggerJob("GMIL_JBEHAVE_TEST")
52 | manager.triggerRemoteJob("http://10.94.0.137:8006/job/Dev_Launch_GMIL_SQS_REGRESSION/build?token=88e4b5fd1d28949710a9c4924775ce40&delay=1800sec")
53 | },
54 | gmlsqm8 : {
55 | manager.triggerRemoteJob("http://10.94.0.137:8006/job/Dev_Launch_GMIL_SQM_REGRESSION/build?token=88e4b5fd1d28949710a9c4924775ce40&delay=1800sec")
56 | },
57 | odensqs8 : {
58 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/odnsqs_deploy/build?token=odnsqs_deploy")
59 | },
60 | odensqm8 : {
61 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/odnsqm_deploy/build?token=odnsqm_deploy")
62 | },
63 | odensqp8 : {
64 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/odnsqp_deploy/build?token=odnsqp_deploy")
65 | },
66 | cpdperf : {
67 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/CPD_DEPLOY/buildWithParameters?token=CPD_DEPLOY&target=cpdperf")
68 | },
69 | cpdpoc : {
70 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/CPD_DEPLOY/buildWithParameters?token=CPD_DEPLOY&target=cpdpoc")
71 | },
72 | cpdprf_service : {
73 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/CPD_DEPLOY/buildWithParameters?token=CPD_DEPLOY&target=cpdprf-service")
74 | },
75 | cpdsqs_configurator_www: {
76 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/CPD_DEPLOY/buildWithParameters?token=CPD_DEPLOY&target=cpdsqs-configurator-www")
77 | },
78 | cpdsqs_configurator_bsd: {
79 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/CPD_DEPLOY/buildWithParameters?token=CPD_DEPLOY&target=cpdsqs-configurator-bsd")
80 | },
81 | cpdsqs_service : {
82 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/CPD_DEPLOY/buildWithParameters?token=CPD_DEPLOY&target=cpdsqs-service")
83 | },
84 | cpdsqm : {
85 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/CPD_DEPLOY/buildWithParameters?token=CPD_DEPLOY&target=cpdsqm")
86 | },
87 | cpdsqm_configurator : {
88 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/CPD_DEPLOY/buildWithParameters?token=CPD_DEPLOY&target=cpdsqm-configurator")
89 | },
90 | cpdsqm_configurator_bsd: {
91 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/CPD_DEPLOY/buildWithParameters?token=CPD_DEPLOY&target=cpdsqm-configurator-bsd")
92 | },
93 | cpdsqm_service : {
94 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/CPD_DEPLOY/buildWithParameters?token=CPD_DEPLOY&target=cpdsqm-service")
95 | },
96 | cpdsqp_configurator_www: {
97 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/CPD_DEPLOY/buildWithParameters?token=CPD_DEPLOY&target=cpdsqp-configurator-www")
98 | },
99 | cpdsqp_configurator_bsd: {
100 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/CPD_DEPLOY/buildWithParameters?token=CPD_DEPLOY&target=cpdsqp-configurator-bsd")
101 | },
102 | cpdsqp_service : {
103 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/job/CPD_DEPLOY/buildWithParameters?token=CPD_DEPLOY&target=cpdsqp-service")
104 | },
105 | configurator_www_dev : {
106 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/buildByToken/buildWithParameters?token=8a36b668396e7aed7b4576f90bbbdc37&job=sync_ag2content_to_dev&targets=chvwwwdevcmb01,chvwwwdevcmb02")
107 | },
108 | configurator_bsd_dev : {
109 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/buildByToken/buildWithParameters?token=8a36b668396e7aed7b4576f90bbbdc37&job=sync_ag2content_to_dev&targets=chvbsddevcmb01,chvbsddevcmb02")
110 | },
111 | admdev : {
112 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/buildByToken/buildWithParameters?token=8a36b668396e7aed7b4576f90bbbdc37&job=sync_adam_build_to_s3&targets=admdev")
113 | Thread.sleep(60000)
114 | manager.triggerRemoteJob("http://awsecopsci.uschecomrnd.net/buildByToken/build?token=45ca521be27644a6d4b6f3eae4486e5a&job=deploy_adam_dev")
115 | },
116 | admsqs : {
117 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/buildByToken/buildWithParameters?token=8a36b668396e7aed7b4576f90bbbdc37&job=sync_adam_build_to_s3&targets=admsqs")
118 | Thread.sleep(60000)
119 | manager.triggerRemoteJob("http://awsecopsci.uschecomrnd.net/buildByToken/build?token=45ca521be27644a6d4b6f3eae4486e5a&job=deploy_adam_sqs")
120 | },
121 | admsqm : {
122 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/buildByToken/buildWithParameters?token=8a36b668396e7aed7b4576f90bbbdc37&job=sync_adam_build_to_s3&targets=admsqm")
123 | Thread.sleep(60000)
124 | manager.triggerRemoteJob("http://awsecopsci.uschecomrnd.net/buildByToken/build?token=45ca521be27644a6d4b6f3eae4486e5a&job=deploy_adam_sqm")
125 | },
126 | admsqp : {
127 | manager.triggerRemoteJob("http://ecopsci.uschecomrnd.net/buildByToken/buildWithParameters?token=8a36b668396e7aed7b4576f90bbbdc37&job=sync_adam_build_to_s3&targets=admsqp")
128 | Thread.sleep(60000)
129 | manager.triggerRemoteJob("http://awsecopsci.uschecomrnd.net/buildByToken/build?token=45ca521be27644a6d4b6f3eae4486e5a&job=deploy_adam_sqp")
130 | }
131 | ]
132 |
133 |
134 | if (binding.variables.containsKey("deploy") && binding.variables.containsKey("deploy_targets") &&
135 | "true" == deploy && deploy_targets?.trim()) {
136 | manager.addBadge("computer.png", "[DEV: " + deploy_targets + "]")
137 | deploy_targets.split(',').each {
138 | String entry = it;
139 | trigger = triggers[entry.replaceAll(/\W/, "_")]
140 | if (trigger) {
141 | trigger()
142 | }
143 | }
144 | }
145 | if (binding.variables.containsKey("dropdeploy") && binding.variables.containsKey("dropdeploy_targets") &&
146 | "true" == dropdeploy && dropdeploy_targets?.trim()) {
147 | dropped = false
148 | dropdeploy_targets.split(',').each {
149 | dropped = true
150 | String entry = it;
151 | trigger = triggers[entry.replaceAll(/\W/, "_")]
152 | if (trigger) {
153 | trigger()
154 | }
155 | }
156 | if (dropped) {
157 | manager.addBadge("server.png", "[SQ: " + dropdeploy_targets + "]")
158 | }
159 | }
160 |
--------------------------------------------------------------------------------
/src/test/resources/test.groovy:
--------------------------------------------------------------------------------
1 | out.println("dropdeploy to: $dropdeploy_targets")
--------------------------------------------------------------------------------
/src/test/resources/test.py:
--------------------------------------------------------------------------------
1 | print 'dropdeploy to: ' + dropdeploy_targets + ", " + manager.getCause()
--------------------------------------------------------------------------------
/src/test/resources/test2.groovy:
--------------------------------------------------------------------------------
1 | out.println("dropdeploy to: " + dropdeploy_targets)
--------------------------------------------------------------------------------
/src/test/resources/test2.py:
--------------------------------------------------------------------------------
1 | str = 'dropdeploy to: '
2 | if 'dropdeploy_targets' in locals():
3 | str += dropdeploy_targets
4 | if 'manager' in locals():
5 | str += ", " + manager.getCause()
6 | print str
--------------------------------------------------------------------------------