rundeck 0.0.3.pre → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +10 -0
  3. data/.rubocop_todo.yml +0 -10
  4. data/.travis.yml +1 -1
  5. data/lib/rundeck/client.rb +61 -3
  6. data/lib/rundeck/client/execution.rb +194 -0
  7. data/lib/rundeck/client/{jobs.rb → job.rb} +19 -36
  8. data/lib/rundeck/client/{keys.rb → key.rb} +42 -20
  9. data/lib/rundeck/configuration.rb +5 -1
  10. data/lib/rundeck/objectified_hash.rb +13 -3
  11. data/lib/rundeck/request.rb +7 -1
  12. data/lib/rundeck/version.rb +1 -1
  13. data/rundeck.gemspec +2 -1
  14. data/spec/cassettes/12/abort_execution_not_running.yml +41 -0
  15. data/spec/cassettes/12/abort_execution_valid.yml +41 -0
  16. data/spec/cassettes/12/abort_executions_invalid.yml +41 -0
  17. data/spec/cassettes/12/bulk_delete_executions_invalid.yml +46 -0
  18. data/spec/cassettes/12/bulk_delete_executions_valid.yml +41 -0
  19. data/spec/cassettes/12/create_private_key.yml +64 -0
  20. data/spec/cassettes/12/create_public_key.yml +38 -0
  21. data/spec/cassettes/12/delete_execution_invalid.yml +41 -0
  22. data/spec/cassettes/12/delete_execution_valid.yml +32 -0
  23. data/spec/cassettes/12/delete_job_executions.yml +41 -0
  24. data/spec/cassettes/12/delete_job_executions_invalid.yml +41 -0
  25. data/spec/cassettes/12/delete_job_invalid.yml +41 -0
  26. data/spec/cassettes/12/delete_job_valid.yml +32 -0
  27. data/spec/cassettes/12/delete_key_invalid.yml +41 -0
  28. data/spec/cassettes/12/delete_key_private.yml +32 -0
  29. data/spec/cassettes/12/delete_key_public.yml +32 -0
  30. data/spec/cassettes/12/execution_invalid.yml +41 -0
  31. data/spec/cassettes/12/execution_query_invalid.yml +39 -0
  32. data/spec/cassettes/12/execution_query_no_params_valid.yml +124 -0
  33. data/spec/cassettes/12/execution_state_invalid.yml +41 -0
  34. data/spec/cassettes/12/execution_state_valid.yml +39 -0
  35. data/spec/cassettes/12/execution_valid.yml +60 -0
  36. data/spec/cassettes/12/export_job_xml.yml +234 -0
  37. data/spec/cassettes/12/export_job_yaml.yml +228 -0
  38. data/spec/cassettes/12/import_job_xml.yml +69 -0
  39. data/spec/cassettes/12/import_job_yaml.yml +63 -0
  40. data/spec/cassettes/12/job.yml +84 -0
  41. data/spec/cassettes/12/job_executions.yml +96 -0
  42. data/spec/cassettes/12/jobs.yml +76 -0
  43. data/spec/cassettes/12/key_contents_direct.yml +67 -0
  44. data/spec/cassettes/12/key_contents_multiple.yml +38 -0
  45. data/spec/cassettes/12/key_contents_private.yml +35 -0
  46. data/spec/cassettes/12/key_metadata_direct.yml +35 -0
  47. data/spec/cassettes/12/key_metadata_multiple.yml +38 -0
  48. data/spec/cassettes/12/keys_direct.yml +35 -0
  49. data/spec/cassettes/12/keys_multiple.yml +38 -0
  50. data/spec/cassettes/12/keys_none.yml +34 -0
  51. data/spec/cassettes/12/run_job_invalid.yml +44 -0
  52. data/spec/cassettes/12/run_job_valid.yml +77 -0
  53. data/spec/cassettes/12/running_jobs_multiple.yml +70 -0
  54. data/spec/cassettes/12/running_jobs_none.yml +39 -0
  55. data/spec/cassettes/12/running_jobs_single.yml +55 -0
  56. data/spec/cassettes/12/update_private_key.yml +96 -0
  57. data/spec/cassettes/12/update_public_key.yml +70 -0
  58. data/spec/rundeck/client/execution_spec.rb +346 -0
  59. data/spec/rundeck/client/job_spec.rb +175 -0
  60. data/spec/rundeck/client/key_spec.rb +223 -0
  61. data/spec/spec_helper.rb +15 -60
  62. data/spec/support/helpers.rb +136 -0
  63. metadata +118 -35
  64. data/spec/fixtures/empty.xml +0 -0
  65. data/spec/fixtures/job.xml +0 -17
  66. data/spec/fixtures/job_executions.xml +0 -31
  67. data/spec/fixtures/job_run.xml +0 -16
  68. data/spec/fixtures/jobs_import.xml +0 -23
  69. data/spec/fixtures/jobs_my_project.xml +0 -14
  70. data/spec/fixtures/jobs_xml.xml +0 -32
  71. data/spec/fixtures/jobs_yaml.xml +0 -22
  72. data/spec/fixtures/key_contents_public.xml +0 -1
  73. data/spec/fixtures/key_private.xml +0 -8
  74. data/spec/fixtures/key_public.xml +0 -7
  75. data/spec/fixtures/keys.xml +0 -27
  76. data/spec/rundeck/client/jobs_spec.rb +0 -181
  77. data/spec/rundeck/client/keys_spec.rb +0 -216
@@ -0,0 +1,38 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://192.168.50.2:4440/api/12/storage/keys/path/to
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - i8iMfXUOpYzVJ9SAkh7pRQMTZI1Bnsyu
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=da0k5ye4bgaf1eauhns8yy6m2;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - text/html;charset=UTF-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Server:
28
+ - Jetty(7.6.0.v20120127)
29
+ body:
30
+ encoding: UTF-8
31
+ string: <resource path='keys/path/to' type='directory' url='http://192.168.50.2:4440/api/12/storage/keys/path/to'><contents
32
+ count='2'><resource path='keys/path/to/key' type='file' url='http://192.168.50.2:4440/api/12/storage/keys/path/to/key'
33
+ name='key'><resource-meta><Rundeck-content-type>application/pgp-key</Rundeck-content-type><Rundeck-content-size>395</Rundeck-content-size></resource-meta></resource><resource
34
+ path='keys/path/to/private_key' type='file' url='http://192.168.50.2:4440/api/12/storage/keys/path/to/private_key'
35
+ name='private_key'><resource-meta><Rundeck-content-type>application/octet-stream</Rundeck-content-type><Rundeck-content-size>1678</Rundeck-content-size><Rundeck-content-mask>content</Rundeck-content-mask><Rundeck-key-type>private</Rundeck-key-type></resource-meta></resource></contents></resource>
36
+ http_version:
37
+ recorded_at: Sat, 11 Oct 2014 19:01:24 GMT
38
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,35 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://192.168.50.2:4440/api/12/storage/keys/path/to/private_key
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - i8iMfXUOpYzVJ9SAkh7pRQMTZI1Bnsyu
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=16utencrcmx25a7ye9vagn3o9;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - application/xml;charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Server:
28
+ - Jetty(7.6.0.v20120127)
29
+ body:
30
+ encoding: UTF-8
31
+ string: <resource path='keys/path/to/private_key' type='file' url='http://192.168.50.2:4440/api/12/storage/keys/path/to/private_key'
32
+ name='private_key'><resource-meta><Rundeck-content-type>application/octet-stream</Rundeck-content-type><Rundeck-content-size>1678</Rundeck-content-size><Rundeck-content-mask>content</Rundeck-content-mask><Rundeck-key-type>private</Rundeck-key-type></resource-meta></resource>
33
+ http_version:
34
+ recorded_at: Sat, 11 Oct 2014 19:01:25 GMT
35
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,35 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://192.168.50.2:4440/api/12/storage/keys/path/to/key
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - i8iMfXUOpYzVJ9SAkh7pRQMTZI1Bnsyu
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=q345xca6qsxa46f64tnyd4f8;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - application/xml;charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Server:
28
+ - Jetty(7.6.0.v20120127)
29
+ body:
30
+ encoding: UTF-8
31
+ string: <resource path='keys/path/to/key' type='file' url='http://192.168.50.2:4440/api/12/storage/keys/path/to/key'
32
+ name='key'><resource-meta><Rundeck-content-type>application/pgp-key</Rundeck-content-type><Rundeck-content-size>395</Rundeck-content-size></resource-meta></resource>
33
+ http_version:
34
+ recorded_at: Sat, 11 Oct 2014 18:56:02 GMT
35
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,38 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://192.168.50.2:4440/api/12/storage/keys/path/to
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - i8iMfXUOpYzVJ9SAkh7pRQMTZI1Bnsyu
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=13nc8t2ak6lbo602watem5byc;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - text/html;charset=UTF-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Server:
28
+ - Jetty(7.6.0.v20120127)
29
+ body:
30
+ encoding: UTF-8
31
+ string: <resource path='keys/path/to' type='directory' url='http://192.168.50.2:4440/api/12/storage/keys/path/to'><contents
32
+ count='2'><resource path='keys/path/to/private_key' type='file' url='http://192.168.50.2:4440/api/12/storage/keys/path/to/private_key'
33
+ name='private_key'><resource-meta><Rundeck-content-type>application/octet-stream</Rundeck-content-type><Rundeck-content-size>1678</Rundeck-content-size><Rundeck-content-mask>content</Rundeck-content-mask><Rundeck-key-type>private</Rundeck-key-type></resource-meta></resource><resource
34
+ path='keys/path/to/key' type='file' url='http://192.168.50.2:4440/api/12/storage/keys/path/to/key'
35
+ name='key'><resource-meta><Rundeck-content-type>application/pgp-key</Rundeck-content-type><Rundeck-content-size>395</Rundeck-content-size></resource-meta></resource></contents></resource>
36
+ http_version:
37
+ recorded_at: Sat, 11 Oct 2014 18:56:02 GMT
38
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,35 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://192.168.50.2:4440/api/12/storage/keys/path/to/key
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - i8iMfXUOpYzVJ9SAkh7pRQMTZI1Bnsyu
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=u6bvro3413ersz8tm1s8p5cc;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - application/xml;charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Server:
28
+ - Jetty(7.6.0.v20120127)
29
+ body:
30
+ encoding: UTF-8
31
+ string: <resource path='keys/path/to/key' type='file' url='http://192.168.50.2:4440/api/12/storage/keys/path/to/key'
32
+ name='key'><resource-meta><Rundeck-content-type>application/pgp-key</Rundeck-content-type><Rundeck-content-size>395</Rundeck-content-size></resource-meta></resource>
33
+ http_version:
34
+ recorded_at: Sat, 11 Oct 2014 15:58:30 GMT
35
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,38 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://192.168.50.2:4440/api/12/storage/keys/path/to
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - i8iMfXUOpYzVJ9SAkh7pRQMTZI1Bnsyu
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=kptq87o1bft211uf6wd3pm65q;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - text/html;charset=UTF-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Server:
28
+ - Jetty(7.6.0.v20120127)
29
+ body:
30
+ encoding: UTF-8
31
+ string: <resource path='keys/path/to' type='directory' url='http://192.168.50.2:4440/api/12/storage/keys/path/to'><contents
32
+ count='2'><resource path='keys/path/to/key' type='file' url='http://192.168.50.2:4440/api/12/storage/keys/path/to/key'
33
+ name='key'><resource-meta><Rundeck-content-type>application/pgp-key</Rundeck-content-type><Rundeck-content-size>395</Rundeck-content-size></resource-meta></resource><resource
34
+ path='keys/path/to/private_key' type='file' url='http://192.168.50.2:4440/api/12/storage/keys/path/to/private_key'
35
+ name='private_key'><resource-meta><Rundeck-content-type>application/octet-stream</Rundeck-content-type><Rundeck-content-size>1678</Rundeck-content-size><Rundeck-content-mask>content</Rundeck-content-mask><Rundeck-key-type>private</Rundeck-key-type></resource-meta></resource></contents></resource>
36
+ http_version:
37
+ recorded_at: Sat, 11 Oct 2014 16:03:18 GMT
38
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,34 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://192.168.50.2:4440/api/12/storage/keys/path/to/nowhere
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - i8iMfXUOpYzVJ9SAkh7pRQMTZI1Bnsyu
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 404
17
+ message: Not Found
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=tzpmavu87rpz1wj86o5k7f0t7;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - application/xml;charset=utf-8
25
+ Transfer-Encoding:
26
+ - chunked
27
+ Server:
28
+ - Jetty(7.6.0.v20120127)
29
+ body:
30
+ encoding: UTF-8
31
+ string: '<error>resource not found: /keys/path/to/nowhere</error>'
32
+ http_version:
33
+ recorded_at: Sat, 11 Oct 2014 16:05:21 GMT
34
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://192.168.50.2:4440/api/12/job/2/executions
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - i8iMfXUOpYzVJ9SAkh7pRQMTZI1Bnsyu
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 400
17
+ message: Bad Request
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=1ydztb99lc2u16catn0wbq7nx;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ X-Rundeck-Api-Version:
26
+ - '12'
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Server:
30
+ - Jetty(7.6.0.v20120127)
31
+ body:
32
+ encoding: UTF-8
33
+ string: |-
34
+ <result error='true' apiversion='12'>
35
+ <error code='api.error.job.options-invalid'>
36
+ <message>Job options were not valid: Option 'packages' is required.
37
+ Option 'release' is required.
38
+ Option 'repository' is required.
39
+ </message>
40
+ </error>
41
+ </result>
42
+ http_version:
43
+ recorded_at: Sat, 11 Oct 2014 14:12:25 GMT
44
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,77 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://192.168.50.2:4440/api/12/job/2/executions?argString=-repository%20ci%20-release%20SNAPSHOT%20-packages%20app-SNAPSHOT
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - i8iMfXUOpYzVJ9SAkh7pRQMTZI1Bnsyu
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=1hzz1nr2tkflxew5vrsbfa1j4;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ X-Rundeck-Api-Version:
26
+ - '12'
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Server:
30
+ - Jetty(7.6.0.v20120127)
31
+ body:
32
+ encoding: UTF-8
33
+ string: |-
34
+ <result success='true' apiversion='12'>
35
+ <executions count='1'>
36
+ <execution id='3' href='http://192.168.50.2:4440/execution/follow/3' status='running' project='anvils'>
37
+ <user>admin</user>
38
+ <date-started unixtime='1413036264646'>2014-10-11T14:04:24Z</date-started>
39
+ <job id='48133ee7-c16f-4782-8217-5a0fdb755866'>
40
+ <name>Promote</name>
41
+ <group>anvils</group>
42
+ <project>anvils</project>
43
+ <description>promote the packages to the ops repository.</description>
44
+ <options>
45
+ <option name='packages' value='app-SNAPSHOT' />
46
+ <option name='repository' value='ci' />
47
+ <option name='release' value='SNAPSHOT' />
48
+ </options>
49
+ </job>
50
+ <description>#!/bin/bash
51
+ set -eu
52
+ [[ $# != 3 ]] &amp;&amp; {
53
+ echo &gt;&amp;2 'usage: $0 repository release pkg1,pkg2,pkgN'
54
+ exit 2
55
+ }
56
+ REPOSITORY=$1 RELEASE=$2 PACKAGELIST=$3
57
+
58
+ echo "# PROMOTE"
59
+ echo "## $REPOSITORY/$RELEASE"
60
+ echo "## Promote $REPOSITORY/$RELEASE..."
61
+
62
+ PACKAGES=( ${PACKAGELIST//,/ } )
63
+ echo "number packages: ${#PACKAGES[*]}"
64
+ echo
65
+ for package in ${PACKAGES[*]:-}
66
+ do
67
+ echo "- $REPOSITORY/$RELEASE/$package"
68
+ done
69
+
70
+ exit $? -- ${option.repository} ${option.release} ${option.packages}</description>
71
+ <argstring>-packages app-SNAPSHOT -release SNAPSHOT -repository ci</argstring>
72
+ </execution>
73
+ </executions>
74
+ </result>
75
+ http_version:
76
+ recorded_at: Sat, 11 Oct 2014 14:04:24 GMT
77
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,70 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://192.168.50.2:4440/api/12/executions/running?project=anvils
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ X-Rundeck-Auth-Token:
11
+ - i8iMfXUOpYzVJ9SAkh7pRQMTZI1Bnsyu
12
+ Accept:
13
+ - application/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Set-Cookie:
20
+ - JSESSIONID=12hu1xlsf8g5vsh0efvulu4ms;Path=/
21
+ Expires:
22
+ - Thu, 01 Jan 1970 00:00:00 GMT
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ X-Rundeck-Api-Version:
26
+ - '12'
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Server:
30
+ - Jetty(7.6.0.v20120127)
31
+ body:
32
+ encoding: UTF-8
33
+ string: |-
34
+ <result success='true' apiversion='12'>
35
+ <executions count='2'>
36
+ <execution id='15' href='http://192.168.50.2:4440/execution/follow/15' status='running' project='anvils'>
37
+ <user>admin</user>
38
+ <date-started unixtime='1413059515662'>2014-10-11T20:31:55Z</date-started>
39
+ <job id='2065685b-776a-4f1a-8fa8-7df90f9060aa' averageDuration='4884'>
40
+ <name>Status</name>
41
+ <group>anvils</group>
42
+ <project>anvils</project>
43
+ <description>Check the status of anvils</description>
44
+ <options>
45
+ <option name='dir' value='$HOME/anvils' />
46
+ </options>
47
+ </job>
48
+ <description>http://localhost/anvils/scripts/status.sh -- ${option.dir}</description>
49
+ <argstring>-dir $HOME/anvils</argstring>
50
+ </execution>
51
+ <execution id='16' href='http://192.168.50.2:4440/execution/follow/15' status='running' project='anvils'>
52
+ <user>admin</user>
53
+ <date-started unixtime='1413059515662'>2014-10-11T20:31:55Z</date-started>
54
+ <job id='2065685b-776a-4f1a-8fa8-7df90f9060aa' averageDuration='4884'>
55
+ <name>Status</name>
56
+ <group>anvils</group>
57
+ <project>anvils</project>
58
+ <description>Check the status of anvils</description>
59
+ <options>
60
+ <option name='dir' value='$HOME/anvils' />
61
+ </options>
62
+ </job>
63
+ <description>http://localhost/anvils/scripts/status.sh -- ${option.dir}</description>
64
+ <argstring>-dir $HOME/anvils</argstring>
65
+ </execution>
66
+ </executions>
67
+ </result>
68
+ http_version:
69
+ recorded_at: Sat, 11 Oct 2014 20:32:00 GMT
70
+ recorded_with: VCR 2.9.3