hudson-remote-api 0.7.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +4 -0
  3. data/Gemfile +9 -0
  4. data/Gemfile.lock +20 -0
  5. data/README.md +11 -9
  6. data/Rakefile +10 -0
  7. data/fixtures/vcr_cassettes/TestHudsonBuildQueue_test_list.yml +38 -0
  8. data/fixtures/vcr_cassettes/TestHudsonBuild_setup.yml +407 -0
  9. data/fixtures/vcr_cassettes/TestHudsonBuild_test_build_info.yml +222 -0
  10. data/fixtures/vcr_cassettes/TestHudsonClient_test_build_job_.yml +52 -0
  11. data/fixtures/vcr_cassettes/TestHudsonClient_test_build_job_with_parameters_.yml +52 -0
  12. data/fixtures/vcr_cassettes/TestHudsonClient_test_build_queue_info.yml +38 -0
  13. data/fixtures/vcr_cassettes/TestHudsonClient_test_create_item_.yml +52 -0
  14. data/fixtures/vcr_cassettes/TestHudsonClient_test_delete_job_.yml +52 -0
  15. data/fixtures/vcr_cassettes/TestHudsonClient_test_job_build_info.yml +39 -0
  16. data/fixtures/vcr_cassettes/TestHudsonClient_test_job_config_info.yml +48 -0
  17. data/fixtures/vcr_cassettes/TestHudsonJob_test_build.yml +409 -0
  18. data/fixtures/vcr_cassettes/TestHudsonJob_test_build_with_params.yml +189 -0
  19. data/fixtures/vcr_cassettes/TestHudsonJob_test_builds_list.yml +192 -0
  20. data/fixtures/vcr_cassettes/TestHudsonJob_test_copy.yml +410 -0
  21. data/fixtures/vcr_cassettes/TestHudsonJob_test_create.yml +257 -0
  22. data/fixtures/vcr_cassettes/TestHudsonJob_test_desc_update.yml +281 -0
  23. data/fixtures/vcr_cassettes/TestHudsonJob_test_get.yml +191 -0
  24. data/fixtures/vcr_cassettes/TestHudsonJob_test_job_with_spaces.yml +260 -0
  25. data/fixtures/vcr_cassettes/TestHudsonJob_test_list.yml +39 -0
  26. data/fixtures/vcr_cassettes/TestHudsonJob_test_list_active.yml +39 -0
  27. data/fixtures/vcr_cassettes/TestHudsonJob_test_new.yml +561 -0
  28. data/fixtures/vcr_cassettes/TestHudsonJob_test_scm_url.yml +728 -0
  29. data/fixtures/vcr_cassettes/TestHudsonJob_test_triggers_delete.yml +588 -0
  30. data/fixtures/vcr_cassettes/TestHudsonJob_test_triggers_set.yml +346 -0
  31. data/fixtures/vcr_cassettes/TestHudsonJob_test_triggers_set_using_shortcut.yml +346 -0
  32. data/fixtures/vcr_cassettes/TestHudsonJob_test_url.yml +156 -0
  33. data/fixtures/vcr_cassettes/TestHudsonJob_test_wipe_out_workspace.yml +685 -0
  34. data/hudson-remote-api.gemspec +23 -0
  35. data/lib/hudson-remote-api.rb +3 -128
  36. data/lib/hudson-remote-api/build.rb +18 -35
  37. data/lib/hudson-remote-api/build_queue.rb +13 -20
  38. data/lib/hudson-remote-api/client.rb +179 -0
  39. data/lib/hudson-remote-api/hudson_xml_api.rb +61 -0
  40. data/lib/hudson-remote-api/job.rb +207 -345
  41. data/lib/hudson-remote-api/parser/build_info.rb +37 -0
  42. data/lib/hudson-remote-api/parser/build_queue_info.rb +19 -0
  43. data/lib/hudson-remote-api/parser/job_config_info.rb +99 -0
  44. data/lib/hudson-remote-api/parser/job_info.rb +62 -0
  45. data/lib/hudson-remote-api/parser/multicast.rb +28 -0
  46. data/lib/hudson-remote-api/parser/server_info.rb +49 -0
  47. data/lib/hudson-remote-api/settings.rb +31 -0
  48. data/lib/hudson-remote-api/version.rb +3 -0
  49. data/lib/hudson-remote-api/xml_writer/job_config_info.rb +113 -0
  50. data/test/test_helper.rb +10 -0
  51. data/test/test_hudson_build.rb +28 -0
  52. data/test/test_hudson_build_queue.rb +11 -0
  53. data/test/test_hudson_client.rb +65 -0
  54. data/test/test_hudson_job.rb +162 -0
  55. data/test/test_hudson_multicast.rb +9 -0
  56. data/test/test_hudson_settings.rb +70 -0
  57. metadata +71 -53
  58. data/lib/hudson-remote-api/config.rb +0 -46
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a3ac5df0244fb75f317f855f2656631aa22f4a6b
4
+ data.tar.gz: d3bc88e7ee9ab17434f5a6d9753071c962ece1ab
5
+ SHA512:
6
+ metadata.gz: 42cc535c844e25e89d01ad6911fa1eecf1305b8cb3212b37e5ce6d037ce0c237f9e7feab0ddf15282ec116e79688a110d5a5672e28dccfd0c222c1400b70325f
7
+ data.tar.gz: e3c3ebc156d8d0ca56092d497255f941bac9a9a40a993cfaba765247f9612c5e4e9624d0127d4a79dd2b9064b533a55e57cb4132cc08376e1e53081bb1e64105
@@ -0,0 +1,4 @@
1
+ .rbenv-version
2
+ hudson_settings.yml
3
+ *.gem
4
+ .DS_Store
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ # A sample Gemfile
2
+ source "https://rubygems.org"
3
+
4
+ gem 'rake'
5
+
6
+ group :test do
7
+ gem 'webmock', '1.20.3'
8
+ gem 'vcr', '2.9.3'
9
+ end
@@ -0,0 +1,20 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ addressable (2.3.6)
5
+ crack (0.4.2)
6
+ safe_yaml (~> 1.0.0)
7
+ rake (0.9.2.2)
8
+ safe_yaml (1.0.4)
9
+ vcr (2.9.3)
10
+ webmock (1.20.3)
11
+ addressable (>= 2.3.6)
12
+ crack (>= 0.3.2)
13
+
14
+ PLATFORMS
15
+ ruby
16
+
17
+ DEPENDENCIES
18
+ rake
19
+ vcr (= 2.9.3)
20
+ webmock (= 1.20.3)
data/README.md CHANGED
@@ -15,18 +15,23 @@ require 'hudson-remote-api'
15
15
  ```ruby
16
16
  # Auto Configuration
17
17
  # detects Hudson instance on your network & sets Hudson[:url]
18
- Hudson.auto_config
18
+ Hudson.auto_configure
19
19
  ```
20
20
  Or
21
21
 
22
22
  ```ruby
23
23
  # Manual Configuration
24
- Hudson[:url] = 'http://localhost:8080'
25
- Hudson[:user] = 'hudson'
26
- Hudson[:password] = 'password'
24
+ settings = {
25
+ :host => 'http://localhost:8080',
26
+ :user => 'hudson',
27
+ :password => 'password',
28
+ :version => '1.0',
29
+ :crumb => true, # To turn on/off checking for crumbIssuer
30
+ :proxy_host => 'your-proxy-host', # To turn on proxy access
31
+ :proxy_port => 888
32
+ }
33
+ Hudson.client(settings)
27
34
 
28
- # To turn off checking for crumbIssuer
29
- Hudson[:crumb] = false
30
35
  ```
31
36
  ## Usage:
32
37
 
@@ -83,9 +88,6 @@ j.delete
83
88
  ```ruby
84
89
  j = Hudson::Job.new('job_name')
85
90
 
86
- # the job's URL address on Hudson server
87
- puts j.url
88
-
89
91
  # job's current build indicator color
90
92
  puts j.color
91
93
 
@@ -0,0 +1,10 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+ require 'rake/testtask'
4
+
5
+ Rake::TestTask.new do |t|
6
+ t.libs << 'test'
7
+ end
8
+
9
+ desc "Run tests"
10
+ task :default => :test
@@ -0,0 +1,38 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://localhost:8080/queue/api/xml
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Content-Type:
17
+ - text/xml
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ X-Jenkins:
24
+ - '1.583'
25
+ X-Jenkins-Session:
26
+ - 394516d7
27
+ Content-Type:
28
+ - application/xml;charset=UTF-8
29
+ Content-Length:
30
+ - '30'
31
+ Server:
32
+ - Jetty(8.y.z-SNAPSHOT)
33
+ body:
34
+ encoding: UTF-8
35
+ string: "<queue></queue>"
36
+ http_version:
37
+ recorded_at: Fri, 07 Nov 2014 06:47:04 GMT
38
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,407 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://localhost:8080/crumbIssuer/api/xml
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Content-Type:
17
+ - text/xml
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ X-Jenkins:
24
+ - '1.583'
25
+ X-Jenkins-Session:
26
+ - 394516d7
27
+ Content-Type:
28
+ - application/xml;charset=UTF-8
29
+ Content-Length:
30
+ - '107'
31
+ Server:
32
+ - Jetty(8.y.z-SNAPSHOT)
33
+ body:
34
+ encoding: UTF-8
35
+ string: "<defaultCrumbIssuer><crumb>d6162b9f2e248ec452bad69592fb87ea</crumb><crumbRequestField>.crumb</crumbRequestField></defaultCrumbIssuer>"
36
+ http_version:
37
+ recorded_at: Fri, 07 Nov 2014 06:47:04 GMT
38
+ - request:
39
+ method: get
40
+ uri: http://localhost:8080/api/xml
41
+ body:
42
+ encoding: US-ASCII
43
+ string: ''
44
+ headers:
45
+ Accept-Encoding:
46
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
47
+ Accept:
48
+ - "*/*"
49
+ User-Agent:
50
+ - Ruby
51
+ Content-Type:
52
+ - text/xml
53
+ response:
54
+ status:
55
+ code: 200
56
+ message: OK
57
+ headers:
58
+ X-Jenkins:
59
+ - '1.583'
60
+ X-Jenkins-Session:
61
+ - 394516d7
62
+ Content-Type:
63
+ - application/xml;charset=UTF-8
64
+ Content-Length:
65
+ - '325'
66
+ Server:
67
+ - Jetty(8.y.z-SNAPSHOT)
68
+ body:
69
+ encoding: UTF-8
70
+ string: "<hudson><assignedLabel></assignedLabel><mode>NORMAL</mode><nodeDescription>the
71
+ master Jenkins node</nodeDescription><nodeName></nodeName><numExecutors>2</numExecutors><job><name>build_triggers</name><url>http://localhost:8080/job/build_triggers/</url><color>notbuilt</color></job><job><name>test_job</name><url>http://localhost:8080/job/test_job/</url><color>blue</color></job><job><name>test_svn_job</name><url>http://localhost:8080/job/test_svn_job/</url><color>blue</color></job><overallLoad></overallLoad><primaryView><name>All</name><url>http://localhost:8080/</url></primaryView><quietingDown>false</quietingDown><slaveAgentPort>0</slaveAgentPort><unlabeledLoad></unlabeledLoad><useCrumbs>true</useCrumbs><useSecurity>false</useSecurity><view><name>All</name><url>http://localhost:8080/</url></view></hudson>"
72
+ http_version:
73
+ recorded_at: Fri, 07 Nov 2014 06:47:04 GMT
74
+ - request:
75
+ method: get
76
+ uri: http://localhost:8080/job/test_job/config.xml
77
+ body:
78
+ encoding: US-ASCII
79
+ string: ''
80
+ headers:
81
+ Accept-Encoding:
82
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
83
+ Accept:
84
+ - "*/*"
85
+ User-Agent:
86
+ - Ruby
87
+ Content-Type:
88
+ - text/xml
89
+ response:
90
+ status:
91
+ code: 200
92
+ message: OK
93
+ headers:
94
+ Content-Type:
95
+ - application/xml
96
+ Content-Length:
97
+ - '498'
98
+ Server:
99
+ - Jetty(8.y.z-SNAPSHOT)
100
+ body:
101
+ encoding: UTF-8
102
+ string: |-
103
+ <?xml version="1.0" encoding="UTF-8"?><project>
104
+ <keepDependencies>false</keepDependencies>
105
+ <properties/>
106
+ <scm class="hudson.scm.NullSCM"/>
107
+ <canRoam>false</canRoam>
108
+ <disabled>false</disabled>
109
+ <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
110
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
111
+ <triggers/>
112
+ <concurrentBuild>false</concurrentBuild>
113
+ <builders/>
114
+ <publishers/>
115
+ <buildWrappers/>
116
+ <description>test</description></project>
117
+ http_version:
118
+ recorded_at: Fri, 07 Nov 2014 06:47:04 GMT
119
+ - request:
120
+ method: get
121
+ uri: http://localhost:8080/job/test_job/api/xml
122
+ body:
123
+ encoding: US-ASCII
124
+ string: ''
125
+ headers:
126
+ Accept-Encoding:
127
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
128
+ Accept:
129
+ - "*/*"
130
+ User-Agent:
131
+ - Ruby
132
+ Content-Type:
133
+ - text/xml
134
+ response:
135
+ status:
136
+ code: 200
137
+ message: OK
138
+ headers:
139
+ X-Jenkins:
140
+ - '1.583'
141
+ X-Jenkins-Session:
142
+ - 394516d7
143
+ Content-Type:
144
+ - application/xml;charset=UTF-8
145
+ Content-Length:
146
+ - '376'
147
+ Server:
148
+ - Jetty(8.y.z-SNAPSHOT)
149
+ body:
150
+ encoding: UTF-8
151
+ string: "<freeStyleProject><description>test</description><displayName>test_job</displayName><name>test_job</name><url>http://localhost:8080/job/test_job/</url><buildable>true</buildable><build><number>2</number><url>http://localhost:8080/job/test_job/2/</url></build><build><number>1</number><url>http://localhost:8080/job/test_job/1/</url></build><color>blue</color><firstBuild><number>1</number><url>http://localhost:8080/job/test_job/1/</url></firstBuild><healthReport><description>Build
152
+ stability: No recent builds failed.</description><iconClassName>icon-health-80plus</iconClassName><iconUrl>health-80plus.png</iconUrl><score>100</score></healthReport><inQueue>false</inQueue><keepDependencies>false</keepDependencies><lastBuild><number>2</number><url>http://localhost:8080/job/test_job/2/</url></lastBuild><lastCompletedBuild><number>2</number><url>http://localhost:8080/job/test_job/2/</url></lastCompletedBuild><lastStableBuild><number>2</number><url>http://localhost:8080/job/test_job/2/</url></lastStableBuild><lastSuccessfulBuild><number>2</number><url>http://localhost:8080/job/test_job/2/</url></lastSuccessfulBuild><nextBuildNumber>3</nextBuildNumber><concurrentBuild>false</concurrentBuild><scm></scm></freeStyleProject>"
153
+ http_version:
154
+ recorded_at: Fri, 07 Nov 2014 06:47:04 GMT
155
+ - request:
156
+ method: post
157
+ uri: http://localhost:8080/job/test_job/build
158
+ body:
159
+ encoding: US-ASCII
160
+ string: delay=0sec
161
+ headers:
162
+ Accept-Encoding:
163
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
164
+ Accept:
165
+ - "*/*"
166
+ User-Agent:
167
+ - Ruby
168
+ Content-Type:
169
+ - application/x-www-form-urlencoded
170
+ ".crumb":
171
+ - d6162b9f2e248ec452bad69592fb87ea
172
+ response:
173
+ status:
174
+ code: 201
175
+ message: Created
176
+ headers:
177
+ Location:
178
+ - http://localhost:8080/queue/item/9/
179
+ Content-Length:
180
+ - '0'
181
+ Server:
182
+ - Jetty(8.y.z-SNAPSHOT)
183
+ body:
184
+ encoding: UTF-8
185
+ string: ''
186
+ http_version:
187
+ recorded_at: Fri, 07 Nov 2014 06:47:04 GMT
188
+ - request:
189
+ method: get
190
+ uri: http://localhost:8080/crumbIssuer/api/xml
191
+ body:
192
+ encoding: US-ASCII
193
+ string: ''
194
+ headers:
195
+ Accept-Encoding:
196
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
197
+ Accept:
198
+ - "*/*"
199
+ User-Agent:
200
+ - Ruby
201
+ Content-Type:
202
+ - text/xml
203
+ response:
204
+ status:
205
+ code: 200
206
+ message: OK
207
+ headers:
208
+ X-Jenkins:
209
+ - '1.583'
210
+ X-Jenkins-Session:
211
+ - 394516d7
212
+ Content-Type:
213
+ - application/xml;charset=UTF-8
214
+ Content-Length:
215
+ - '107'
216
+ Server:
217
+ - Jetty(8.y.z-SNAPSHOT)
218
+ body:
219
+ encoding: UTF-8
220
+ string: "<defaultCrumbIssuer><crumb>d6162b9f2e248ec452bad69592fb87ea</crumb><crumbRequestField>.crumb</crumbRequestField></defaultCrumbIssuer>"
221
+ http_version:
222
+ recorded_at: Fri, 07 Nov 2014 06:47:04 GMT
223
+ - request:
224
+ method: get
225
+ uri: http://localhost:8080/api/xml
226
+ body:
227
+ encoding: US-ASCII
228
+ string: ''
229
+ headers:
230
+ Accept-Encoding:
231
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
232
+ Accept:
233
+ - "*/*"
234
+ User-Agent:
235
+ - Ruby
236
+ Content-Type:
237
+ - text/xml
238
+ response:
239
+ status:
240
+ code: 200
241
+ message: OK
242
+ headers:
243
+ X-Jenkins:
244
+ - '1.583'
245
+ X-Jenkins-Session:
246
+ - 394516d7
247
+ Content-Type:
248
+ - application/xml;charset=UTF-8
249
+ Content-Length:
250
+ - '331'
251
+ Server:
252
+ - Jetty(8.y.z-SNAPSHOT)
253
+ body:
254
+ encoding: UTF-8
255
+ string: "<hudson><assignedLabel></assignedLabel><mode>NORMAL</mode><nodeDescription>the
256
+ master Jenkins node</nodeDescription><nodeName></nodeName><numExecutors>2</numExecutors><job><name>build_triggers</name><url>http://localhost:8080/job/build_triggers/</url><color>notbuilt</color></job><job><name>test_job</name><url>http://localhost:8080/job/test_job/</url><color>blue_anime</color></job><job><name>test_svn_job</name><url>http://localhost:8080/job/test_svn_job/</url><color>blue</color></job><overallLoad></overallLoad><primaryView><name>All</name><url>http://localhost:8080/</url></primaryView><quietingDown>false</quietingDown><slaveAgentPort>0</slaveAgentPort><unlabeledLoad></unlabeledLoad><useCrumbs>true</useCrumbs><useSecurity>false</useSecurity><view><name>All</name><url>http://localhost:8080/</url></view></hudson>"
257
+ http_version:
258
+ recorded_at: Fri, 07 Nov 2014 06:47:04 GMT
259
+ - request:
260
+ method: get
261
+ uri: http://localhost:8080/job/test_job/config.xml
262
+ body:
263
+ encoding: US-ASCII
264
+ string: ''
265
+ headers:
266
+ Accept-Encoding:
267
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
268
+ Accept:
269
+ - "*/*"
270
+ User-Agent:
271
+ - Ruby
272
+ Content-Type:
273
+ - text/xml
274
+ response:
275
+ status:
276
+ code: 200
277
+ message: OK
278
+ headers:
279
+ Content-Type:
280
+ - application/xml
281
+ Content-Length:
282
+ - '498'
283
+ Server:
284
+ - Jetty(8.y.z-SNAPSHOT)
285
+ body:
286
+ encoding: UTF-8
287
+ string: |-
288
+ <?xml version="1.0" encoding="UTF-8"?><project>
289
+ <keepDependencies>false</keepDependencies>
290
+ <properties/>
291
+ <scm class="hudson.scm.NullSCM"/>
292
+ <canRoam>false</canRoam>
293
+ <disabled>false</disabled>
294
+ <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
295
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
296
+ <triggers/>
297
+ <concurrentBuild>false</concurrentBuild>
298
+ <builders/>
299
+ <publishers/>
300
+ <buildWrappers/>
301
+ <description>test</description></project>
302
+ http_version:
303
+ recorded_at: Fri, 07 Nov 2014 06:47:04 GMT
304
+ - request:
305
+ method: get
306
+ uri: http://localhost:8080/job/test_job/api/xml
307
+ body:
308
+ encoding: US-ASCII
309
+ string: ''
310
+ headers:
311
+ Accept-Encoding:
312
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
313
+ Accept:
314
+ - "*/*"
315
+ User-Agent:
316
+ - Ruby
317
+ Content-Type:
318
+ - text/xml
319
+ response:
320
+ status:
321
+ code: 200
322
+ message: OK
323
+ headers:
324
+ X-Jenkins:
325
+ - '1.583'
326
+ X-Jenkins-Session:
327
+ - 394516d7
328
+ Content-Type:
329
+ - application/xml;charset=UTF-8
330
+ Content-Length:
331
+ - '391'
332
+ Server:
333
+ - Jetty(8.y.z-SNAPSHOT)
334
+ body:
335
+ encoding: UTF-8
336
+ string: "<freeStyleProject><description>test</description><displayName>test_job</displayName><name>test_job</name><url>http://localhost:8080/job/test_job/</url><buildable>true</buildable><build><number>3</number><url>http://localhost:8080/job/test_job/3/</url></build><build><number>2</number><url>http://localhost:8080/job/test_job/2/</url></build><build><number>1</number><url>http://localhost:8080/job/test_job/1/</url></build><color>blue_anime</color><firstBuild><number>1</number><url>http://localhost:8080/job/test_job/1/</url></firstBuild><healthReport><description>Build
337
+ stability: No recent builds failed.</description><iconClassName>icon-health-80plus</iconClassName><iconUrl>health-80plus.png</iconUrl><score>100</score></healthReport><inQueue>false</inQueue><keepDependencies>false</keepDependencies><lastBuild><number>3</number><url>http://localhost:8080/job/test_job/3/</url></lastBuild><lastCompletedBuild><number>2</number><url>http://localhost:8080/job/test_job/2/</url></lastCompletedBuild><lastStableBuild><number>2</number><url>http://localhost:8080/job/test_job/2/</url></lastStableBuild><lastSuccessfulBuild><number>2</number><url>http://localhost:8080/job/test_job/2/</url></lastSuccessfulBuild><nextBuildNumber>4</nextBuildNumber><concurrentBuild>false</concurrentBuild><scm></scm></freeStyleProject>"
338
+ http_version:
339
+ recorded_at: Fri, 07 Nov 2014 06:47:04 GMT
340
+ - request:
341
+ method: get
342
+ uri: http://localhost:8080/job/test_job/3/api/xml
343
+ body:
344
+ encoding: US-ASCII
345
+ string: ''
346
+ headers:
347
+ Accept-Encoding:
348
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
349
+ Accept:
350
+ - "*/*"
351
+ User-Agent:
352
+ - Ruby
353
+ Content-Type:
354
+ - text/xml
355
+ response:
356
+ status:
357
+ code: 200
358
+ message: OK
359
+ headers:
360
+ X-Jenkins:
361
+ - '1.583'
362
+ X-Jenkins-Session:
363
+ - 394516d7
364
+ Content-Type:
365
+ - application/xml;charset=UTF-8
366
+ Content-Length:
367
+ - '296'
368
+ Server:
369
+ - Jetty(8.y.z-SNAPSHOT)
370
+ body:
371
+ encoding: UTF-8
372
+ string: "<freeStyleBuild><action><cause><shortDescription>Started by user anonymous</shortDescription><userName>anonymous</userName></cause></action><building>false</building><duration>16</duration><estimatedDuration>23</estimatedDuration><fullDisplayName>test_job
373
+ #3</fullDisplayName><id>2014-11-06_22-47-04</id><keepLog>false</keepLog><number>3</number><result>SUCCESS</result><timestamp>1415342824204</timestamp><url>http://localhost:8080/job/test_job/3/</url><builtOn></builtOn><changeSet></changeSet></freeStyleBuild>"
374
+ http_version:
375
+ recorded_at: Fri, 07 Nov 2014 06:47:04 GMT
376
+ - request:
377
+ method: get
378
+ uri: http://localhost:8080/job/test_job/build
379
+ body:
380
+ encoding: US-ASCII
381
+ string: ''
382
+ headers:
383
+ Accept-Encoding:
384
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
385
+ Accept:
386
+ - "*/*"
387
+ User-Agent:
388
+ - Ruby
389
+ Content-Type:
390
+ - text/xml
391
+ response:
392
+ status:
393
+ code: 201
394
+ message: Created
395
+ headers:
396
+ Location:
397
+ - http://localhost:8080/queue/item/15/
398
+ Content-Length:
399
+ - '0'
400
+ Server:
401
+ - Jetty(8.y.z-SNAPSHOT)
402
+ body:
403
+ encoding: UTF-8
404
+ string: ''
405
+ http_version:
406
+ recorded_at: Sat, 08 Nov 2014 21:44:17 GMT
407
+ recorded_with: VCR 2.9.3