jenkins_api_client 0.12.1 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,7 +5,9 @@ describe JenkinsApi::Client::Job do
5
5
  context "With properly initialized Client and all methods defined" do
6
6
 
7
7
  before do
8
+ mock_logger = Logger.new "/dev/null"
8
9
  @client = mock
10
+ @client.should_receive(:logger).and_return(mock_logger)
9
11
  @job = JenkinsApi::Client::Job.new(@client)
10
12
  @sample_json_response = {
11
13
  "jobs" => [
@@ -134,6 +136,21 @@ describe JenkinsApi::Client::Job do
134
136
  end
135
137
  end
136
138
 
139
+ describe "#copy" do
140
+ it "accepts the from and to job names and copies the from job to the to job" do
141
+ @client.should_receive(:api_post_request).with(
142
+ "/createItem?name=new_job&mode=copy&from=old_job"
143
+ )
144
+ @job.copy("old_job", "new_job")
145
+ end
146
+ it "accepts the from job name and copies the from job to the copy_of_from job" do
147
+ @client.should_receive(:api_post_request).with(
148
+ "/createItem?name=copy_of_old_job&mode=copy&from=old_job"
149
+ )
150
+ @job.copy("old_job")
151
+ end
152
+ end
153
+
137
154
  describe "#add_email_notification" do
138
155
  it "accepts email address and adds to existing job" do
139
156
  params = {
@@ -182,6 +199,15 @@ describe JenkinsApi::Client::Job do
182
199
  end
183
200
  end
184
201
 
202
+ describe "#wipe_out_workspace" do
203
+ it "accepts the job name and wipes out the workspace of the job" do
204
+ @client.should_receive(:api_post_request).with(
205
+ "/job/test_job/doWipeOutWorkspace"
206
+ )
207
+ @job.wipe_out_workspace('test_job')
208
+ end
209
+ end
210
+
185
211
  describe "#stop_build" do
186
212
  it "accepts the job name and build number and stops the build" do
187
213
  @client.should_receive(:api_get_request).twice.and_return(
@@ -330,13 +356,32 @@ describe JenkinsApi::Client::Job do
330
356
  describe "#build" do
331
357
  it "accepts the job name and builds the job" do
332
358
  @client.should_receive(:api_post_request).with(
333
- "/job/test_job/build").and_return(302)
359
+ "/job/test_job/build", {}, false).and_return(302)
334
360
  @job.build("test_job").should == 302
335
361
  end
336
362
  it "accepts the job name with params and builds the job" do
337
363
  @client.should_receive(:api_post_request).with(
338
- "/job/test_job/buildWithParameters",{:branch => 'feature/new-stuff'}).and_return(302)
339
- @job.build("test_job",{:branch => 'feature/new-stuff'}).should == 302
364
+ "/job/test_job/buildWithParameters",
365
+ {:branch => 'feature/new-stuff'},
366
+ false
367
+ ).and_return(302)
368
+ @job.build("test_job", {:branch => 'feature/new-stuff'}).should == 302
369
+ end
370
+ end
371
+
372
+ describe "#enable" do
373
+ it "accepts the job name and enables the job" do
374
+ @client.should_receive(:api_post_request).with(
375
+ "/job/test_job/enable").and_return(302)
376
+ @job.enable("test_job").should == 302
377
+ end
378
+ end
379
+
380
+ describe "#disable" do
381
+ it "accepts the job name and disables the job" do
382
+ @client.should_receive(:api_post_request).with(
383
+ "/job/test_job/disable").and_return(302)
384
+ @job.disable("test_job").should == 302
340
385
  end
341
386
  end
342
387
 
@@ -419,7 +464,6 @@ describe JenkinsApi::Client::Job do
419
464
 
420
465
  describe "#unchain" do
421
466
  it "accepts the job names and unchains them" do
422
- @client.should_receive(:debug).and_return(false)
423
467
  @client.should_receive(:get_config).with(
424
468
  "/job/test_job").and_return(@sample_job_xml)
425
469
  @client.should_receive(:post_config)
@@ -429,7 +473,6 @@ describe JenkinsApi::Client::Job do
429
473
 
430
474
  describe "#chain" do
431
475
  it "accepts the job names and other options and chains them" do
432
- @client.should_receive(:debug).and_return(false)
433
476
  @client.should_receive(:get_config).with(
434
477
  "/job/test_job").and_return(@sample_job_xml)
435
478
  @client.should_receive(:post_config)
@@ -4,6 +4,8 @@ describe JenkinsApi::Client::Node do
4
4
  context "With properly initialized Client" do
5
5
  before do
6
6
  @client = mock
7
+ mock_logger = Logger.new "/dev/null"
8
+ @client.should_receive(:logger).and_return(mock_logger)
7
9
  @node = JenkinsApi::Client::Node.new(@client)
8
10
  @sample_json_computer_response = {
9
11
  "computer" => [
@@ -20,6 +22,8 @@ describe JenkinsApi::Client::Node do
20
22
 
21
23
  describe "#initialize" do
22
24
  it "initializes by receiving an instance of client object" do
25
+ mock_logger = Logger.new "/dev/null"
26
+ @client.should_receive(:logger).and_return(mock_logger)
23
27
  expect(
24
28
  lambda{ JenkinsApi::Client::Node.new(@client) }
25
29
  ).not_to raise_error
@@ -28,13 +32,6 @@ describe JenkinsApi::Client::Node do
28
32
 
29
33
  describe "#create_dump_slave" do
30
34
  it "creates a dump slave by accepting required params" do
31
- @client.should_receive(
32
- :api_get_request
33
- ).with(
34
- "/computer"
35
- ).and_return(
36
- @sample_json_computer_response
37
- )
38
35
  @client.should_receive(:api_post_request).and_return("302")
39
36
  @node.create_dump_slave(
40
37
  :name => "test_slave",
@@ -1,4 +1,5 @@
1
1
  require File.expand_path('../../../lib/jenkins_api_client', __FILE__)
2
+ require 'logger'
2
3
 
3
4
  RSpec.configure do |config|
4
5
  config.before(:each) do
@@ -3,13 +3,21 @@ require File.expand_path('../spec_helper', __FILE__)
3
3
  describe JenkinsApi::Client::System do
4
4
  context "With properly initialized Client" do
5
5
  before do
6
+ mock_logger = Logger.new "/dev/null"
7
+ mock_timeout = 300
6
8
  @client = mock
9
+ @client.should_receive(:logger).and_return(mock_logger)
10
+ @client.should_receive(:timeout).and_return(mock_timeout)
7
11
  @system = JenkinsApi::Client::System.new(@client)
8
12
  end
9
13
 
10
14
  describe "InstanceMethods" do
11
15
  describe "#initialize" do
12
16
  it "initializes by receiving an instance of client object" do
17
+ mock_logger = Logger.new "/dev/null"
18
+ mock_timeout = 300
19
+ @client.should_receive(:logger).and_return(mock_logger)
20
+ @client.should_receive(:timeout).and_return(mock_timeout)
13
21
  expect(
14
22
  lambda{ JenkinsApi::Client::System.new(@client) }
15
23
  ).not_to raise_error
@@ -48,11 +56,16 @@ describe JenkinsApi::Client::System do
48
56
  end
49
57
  end
50
58
 
59
+ describe "#list_users" do
60
+ it "sends a request to list the users" do
61
+ @client.should_receive(:api_get_request).with("/asynchPeople")
62
+ @system.list_users
63
+ end
64
+ end
65
+
51
66
  describe "#wait_for_ready" do
52
67
  it "exits if the response body doesn't have the wait message" do
53
68
  @client.should_receive(:get_root).and_return(Net::HTTP.get_response(URI('http://example.com/index.html')))
54
- @client.should_receive(:debug)
55
- @client.should_receive(:timeout)
56
69
  @system.wait_for_ready
57
70
  end
58
71
  end
@@ -3,7 +3,9 @@ require File.expand_path('../spec_helper', __FILE__)
3
3
  describe JenkinsApi::Client::View do
4
4
  context "With properly initialized Client" do
5
5
  before do
6
+ mock_logger = Logger.new "/dev/null"
6
7
  @client = mock
8
+ @client.should_receive(:logger).and_return(mock_logger)
7
9
  @view = JenkinsApi::Client::View.new(@client)
8
10
  @sample_views_json = {
9
11
  "views" => [
@@ -22,6 +24,8 @@ describe JenkinsApi::Client::View do
22
24
  describe "InstanceMethods" do
23
25
  describe "#initialize" do
24
26
  it "initializes by receiving an instane of client object" do
27
+ mock_logger = Logger.new "/dev/null"
28
+ @client.should_receive(:logger).and_return(mock_logger)
25
29
  expect(
26
30
  lambda { JenkinsApi::Client::View.new(@client) }
27
31
  ).not_to raise_error
@@ -44,21 +48,21 @@ describe JenkinsApi::Client::View do
44
48
 
45
49
  describe "#list" do
46
50
  it "lists all views" do
47
- @client.should_receive(:api_get_request).with("/").and_return(@sample_views_json)
51
+ @client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
48
52
  response = @view.list
49
53
  response.class.should == Array
50
54
  response.size.should == 2
51
55
  end
52
56
 
53
57
  it "lists views matching specific filter" do
54
- @client.should_receive(:api_get_request).with("/").and_return(@sample_views_json)
58
+ @client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
55
59
  response = @view.list("test_view2")
56
60
  response.class.should == Array
57
61
  response.size.should == 1
58
62
  end
59
63
 
60
64
  it "lists views matching specific filter and matches case" do
61
- @client.should_receive(:api_get_request).with("/").and_return(@sample_views_json)
65
+ @client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
62
66
  response = @view.list("TEST_VIEW", false)
63
67
  response.class.should == Array
64
68
  response.size.should == 0
@@ -67,19 +71,19 @@ describe JenkinsApi::Client::View do
67
71
 
68
72
  describe "#exists?" do
69
73
  it "returns true a view that exists" do
70
- @client.should_receive(:api_get_request).with("/").and_return(@sample_views_json)
74
+ @client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
71
75
  @view.exists?("test_view2").should == true
72
76
  end
73
77
 
74
78
  it "returns false for non-existent view" do
75
- @client.should_receive(:api_get_request).with("/").and_return(@sample_views_json)
79
+ @client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
76
80
  @view.exists?("i_am_not_there").should == false
77
81
  end
78
82
  end
79
83
 
80
84
  describe "#list_jobs" do
81
85
  it "lists all jobs in the given view" do
82
- @client.should_receive(:api_get_request).with("/").and_return(@sample_views_json)
86
+ @client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
83
87
  @client.should_receive(:api_get_request).with("/view/test_view").and_return(@sample_view_json)
84
88
  response = @view.list_jobs("test_view")
85
89
  response.class.should == Array
@@ -87,7 +91,7 @@ describe JenkinsApi::Client::View do
87
91
  end
88
92
 
89
93
  it "raises an error if called on a non-existent view" do
90
- @client.should_receive(:api_get_request).with("/").and_return(@sample_views_json)
94
+ @client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
91
95
  expect(
92
96
  lambda { @view.list_jobs("i_am_not_there") }
93
97
  ).to raise_error
@@ -0,0 +1,67 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <hudson>
3
+ <disabledAdministrativeMonitors/>
4
+ <version>1.517</version>
5
+ <numExecutors>10</numExecutors>
6
+ <mode>NORMAL</mode>
7
+ <useSecurity>true</useSecurity>
8
+ <authorizationStrategy class="hudson.security.GlobalMatrixAuthorizationStrategy">
9
+ <permission>hudson.model.Computer.Configure:testuser</permission>
10
+ <permission>hudson.model.Computer.Connect:testuser</permission>
11
+ <permission>hudson.model.Computer.Create:testuser</permission>
12
+ <permission>hudson.model.Computer.Delete:testuser</permission>
13
+ <permission>hudson.model.Computer.Disconnect:testuser</permission>
14
+ <permission>hudson.model.Hudson.Administer:testuser</permission>
15
+ <permission>hudson.model.Hudson.ConfigureUpdateCenter:testuser</permission>
16
+ <permission>hudson.model.Hudson.Read:testuser</permission>
17
+ <permission>hudson.model.Hudson.RunScripts:testuser</permission>
18
+ <permission>hudson.model.Hudson.UploadPlugins:testuser</permission>
19
+ <permission>hudson.model.Item.Build:testuser</permission>
20
+ <permission>hudson.model.Item.Cancel:testuser</permission>
21
+ <permission>hudson.model.Item.Configure:testuser</permission>
22
+ <permission>hudson.model.Item.Create:testuser</permission>
23
+ <permission>hudson.model.Item.Delete:testuser</permission>
24
+ <permission>hudson.model.Item.Discover:testuser</permission>
25
+ <permission>hudson.model.Item.Read:testuser</permission>
26
+ <permission>hudson.model.Item.Workspace:testuser</permission>
27
+ <permission>hudson.model.View.Configure:testuser</permission>
28
+ <permission>hudson.model.View.Create:testuser</permission>
29
+ <permission>hudson.model.View.Delete:testuser</permission>
30
+ <permission>hudson.model.View.Read:testuser</permission>
31
+ </authorizationStrategy>
32
+ <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
33
+ <disableSignup>false</disableSignup>
34
+ <enableCaptcha>false</enableCaptcha>
35
+ </securityRealm>
36
+ <projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
37
+ <workspaceDir>${JENKINS_HOME}/workspace/${ITEM_FULLNAME}</workspaceDir>
38
+ <buildsDir>${ITEM_ROOTDIR}/builds</buildsDir>
39
+ <markupFormatter class="hudson.markup.RawHtmlMarkupFormatter">
40
+ <disableSyntaxHighlighting>false</disableSyntaxHighlighting>
41
+ </markupFormatter>
42
+ <jdks/>
43
+ <viewsTabBar class="hudson.views.DefaultViewsTabBar"/>
44
+ <myViewsTabBar class="hudson.views.DefaultMyViewsTabBar"/>
45
+ <clouds/>
46
+ <slaves/>
47
+ <quietPeriod>5</quietPeriod>
48
+ <scmCheckoutRetryCount>0</scmCheckoutRetryCount>
49
+ <views>
50
+ <hudson.model.AllView>
51
+ <owner class="hudson" reference="../../.."/>
52
+ <name>All</name>
53
+ <filterExecutors>false</filterExecutors>
54
+ <filterQueue>false</filterQueue>
55
+ <properties class="hudson.model.View$PropertyList"/>
56
+ </hudson.model.AllView>
57
+ </views>
58
+ <primaryView>All</primaryView>
59
+ <slaveAgentPort>0</slaveAgentPort>
60
+ <label></label>
61
+ <crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
62
+ <excludeClientIPFromCrumb>false</excludeClientIPFromCrumb>
63
+ <PROXY__HEADER>X-Forwarded-For</PROXY__HEADER>
64
+ </crumbIssuer>
65
+ <nodeProperties/>
66
+ <globalNodeProperties/>
67
+ </hudson>
@@ -0,0 +1,11 @@
1
+ #!/bin/bash
2
+
3
+ # Replace jenkins configuration file with crumb enabled
4
+ sudo cp -f travis/jenkins_config_with_crumb.xml /var/lib/jenkins/config.xml
5
+ # Restart jenkins for the new configuration to take effect
6
+ sudo service jenkins restart
7
+ # Jenkins takes a bit to get ready - so wait
8
+ sleep 60
9
+ echo `sudo service jenkins status`
10
+
11
+ echo "Crumbs support is enabled on jenkins"
data/travis/spec.yml CHANGED
@@ -8,3 +8,7 @@
8
8
  :password: testpassword
9
9
  # Timeout in seconds
10
10
  :timeout: 300
11
+ # Log location
12
+ :log_location: "jenkins_api_client.log"
13
+ # Log level (Logger::DEBUG)
14
+ :log_level: 0
metadata CHANGED
@@ -1,162 +1,182 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: jenkins_api_client
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 12
8
- - 1
9
- version: 0.12.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.13.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Kannan Manickam
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2013-06-26 00:00:00 -07:00
18
- default_executable: jenkinscli
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- type: :runtime
22
- version_requirements: &id001 !ruby/object:Gem::Requirement
23
- requirements:
12
+ date: 2013-07-10 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: nokogiri
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
24
19
  - - ~>
25
- - !ruby/object:Gem::Version
26
- segments:
27
- - 1
28
- - 5
29
- - 0
20
+ - !ruby/object:Gem::Version
30
21
  version: 1.5.0
31
- name: nokogiri
32
- requirement: *id001
33
- prerelease: false
34
- - !ruby/object:Gem::Dependency
35
22
  type: :runtime
36
- version_requirements: &id002 !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- segments:
41
- - 0
42
- - 16
43
- - 0
44
- version: 0.16.0
45
- name: thor
46
- requirement: *id002
47
23
  prerelease: false
48
- - !ruby/object:Gem::Dependency
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 1.5.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: thor
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 0.16.0
49
38
  type: :runtime
50
- version_requirements: &id003 !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- segments:
55
- - 0
56
- version: "0"
57
- name: json
58
- requirement: *id003
59
39
  prerelease: false
60
- - !ruby/object:Gem::Dependency
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 0.16.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: json
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
61
54
  type: :runtime
62
- version_requirements: &id004 !ruby/object:Gem::Requirement
63
- requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- segments:
67
- - 1
68
- - 4
69
- - 0
70
- version: 1.4.0
71
- name: terminal-table
72
- requirement: *id004
73
55
  prerelease: false
74
- - !ruby/object:Gem::Dependency
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: terminal-table
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 1.4.0
75
70
  type: :runtime
76
- version_requirements: &id005 !ruby/object:Gem::Requirement
77
- requirements:
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 1.4.0
78
+ - !ruby/object:Gem::Dependency
79
+ name: mixlib-shellout
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
78
83
  - - ~>
79
- - !ruby/object:Gem::Version
80
- segments:
81
- - 1
82
- - 1
83
- - 0
84
+ - !ruby/object:Gem::Version
84
85
  version: 1.1.0
85
- name: mixlib-shellout
86
- requirement: *id005
86
+ type: :runtime
87
87
  prerelease: false
88
- - !ruby/object:Gem::Dependency
89
- type: :development
90
- version_requirements: &id006 !ruby/object:Gem::Requirement
91
- requirements:
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- segments:
95
- - 1
96
- - 0
97
- version: "1.0"
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 1.1.0
94
+ - !ruby/object:Gem::Dependency
98
95
  name: bundler
99
- requirement: *id006
100
- prerelease: false
101
- - !ruby/object:Gem::Dependency
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '1.0'
102
102
  type: :development
103
- version_requirements: &id007 !ruby/object:Gem::Requirement
104
- requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- segments:
108
- - 1
109
- - 6
110
- - 4
111
- version: 1.6.4
112
- name: jeweler
113
- requirement: *id007
114
103
  prerelease: false
115
- - !ruby/object:Gem::Dependency
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '1.0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: jeweler
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: 1.6.4
116
118
  type: :development
117
- version_requirements: &id008 !ruby/object:Gem::Requirement
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- segments:
122
- - 0
123
- version: "0"
124
- name: simplecov
125
- requirement: *id008
126
119
  prerelease: false
127
- - !ruby/object:Gem::Dependency
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: 1.6.4
126
+ - !ruby/object:Gem::Dependency
127
+ name: simplecov
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
128
134
  type: :development
129
- version_requirements: &id009 !ruby/object:Gem::Requirement
130
- requirements:
131
- - - ">="
132
- - !ruby/object:Gem::Version
133
- segments:
134
- - 0
135
- version: "0"
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
136
143
  name: rspec
137
- requirement: *id009
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
138
151
  prerelease: false
139
- description: |-
140
-
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ description: ! '
159
+
141
160
  This is a simple and easy-to-use Jenkins Api client with features focused on
142
- automating Job configuration programaticaly and so forth
143
- email:
161
+
162
+ automating Job configuration programaticaly and so forth'
163
+ email:
144
164
  - arangamani.kannan@gmail.com
145
- executables:
165
+ executables:
146
166
  - jenkinscli
147
167
  extensions: []
148
-
149
168
  extra_rdoc_files: []
150
-
151
- files:
169
+ files:
152
170
  - .gitignore
153
171
  - .jenkins.yml
154
172
  - .travis.yml
155
173
  - CHANGELOG.md
174
+ - CONTRIBUTORS.md
156
175
  - Gemfile
157
176
  - LICENCE
158
177
  - README.md
159
178
  - Rakefile
179
+ - Vagrantfile
160
180
  - bin/jenkinscli
161
181
  - config/login.yml.example
162
182
  - java_deps/jenkins-cli.jar
@@ -192,38 +212,36 @@ files:
192
212
  - spec/unit_tests/system_spec.rb
193
213
  - spec/unit_tests/view_spec.rb
194
214
  - travis/jenkins_config.xml
215
+ - travis/jenkins_config_with_crumb.xml
195
216
  - travis/setup.sh
217
+ - travis/setup_crumb.sh
196
218
  - travis/spec.yml
197
219
  - travis/user_config.xml
198
- has_rdoc: true
199
220
  homepage: https://github.com/arangamani/jenkins_api_client
200
221
  licenses: []
201
-
202
222
  post_install_message:
203
223
  rdoc_options: []
204
-
205
- require_paths:
224
+ require_paths:
206
225
  - lib
207
- required_ruby_version: !ruby/object:Gem::Requirement
208
- requirements:
209
- - - ">="
210
- - !ruby/object:Gem::Version
211
- segments:
212
- - 0
213
- version: "0"
214
- required_rubygems_version: !ruby/object:Gem::Requirement
215
- requirements:
216
- - - ">="
217
- - !ruby/object:Gem::Version
218
- segments:
226
+ required_ruby_version: !ruby/object:Gem::Requirement
227
+ none: false
228
+ requirements:
229
+ - - ! '>='
230
+ - !ruby/object:Gem::Version
231
+ version: '0'
232
+ segments:
219
233
  - 0
220
- version: "0"
234
+ hash: -361033053725942213
235
+ required_rubygems_version: !ruby/object:Gem::Requirement
236
+ none: false
237
+ requirements:
238
+ - - ! '>='
239
+ - !ruby/object:Gem::Version
240
+ version: '0'
221
241
  requirements: []
222
-
223
242
  rubyforge_project:
224
- rubygems_version: 1.3.6
243
+ rubygems_version: 1.8.23
225
244
  signing_key:
226
245
  specification_version: 3
227
246
  summary: Jenkins JSON API Client
228
247
  test_files: []
229
-