jenkins_api_client 1.2.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/jenkins_api_client.gemspec +3 -3
- data/lib/jenkins_api_client/client.rb +2 -2
- data/lib/jenkins_api_client/job.rb +3 -1
- data/lib/jenkins_api_client/version.rb +1 -1
- data/lib/jenkins_api_client/view.rb +1 -1
- data/spec/unit_tests/client_spec.rb +40 -0
- data/spec/unit_tests/job_spec.rb +10 -1
- data/spec/unit_tests/view_spec.rb +8 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58d034d4ed3f397f82ac0db50f4bdd3f955e162c
|
4
|
+
data.tar.gz: 96e93335ff4401d5077def1902fe7211c054351b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c286e0b68b5db499f97e2fac0545678127303d796c6bd29be9afabab715a23c6d4219b97b3b5e07427cfe818703a3bbe6dbf1e66caa3b56fd1a2e985fdd869c
|
7
|
+
data.tar.gz: 81ef02baf6791a223e5ba72337d4ecfd040d332c51660d1137628df691affac6b011851e04bd4f07b45a535281a36c4dad152650518f90bc0c77f2de5d7ad127
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,11 @@ CHANGELOG
|
|
4
4
|
upcoming
|
5
5
|
--------
|
6
6
|
|
7
|
+
v1.3.0 [03-JAN-2015]
|
8
|
+
----------------------
|
9
|
+
* [#159][] Add ability to configure git tool for a job. Credit: [@hubert][]
|
10
|
+
* [#163][] Improve performance by using the `tree` parameter. Credit: [@stjohnjohnson][]
|
11
|
+
|
7
12
|
v1.2.0 [12-NOV-2014]
|
8
13
|
----------------------
|
9
14
|
* [#156][] Added workspace cleanup plugin. Credit [@hubert][]
|
@@ -294,6 +299,8 @@ v0.0.1 [15-OCT-2012]
|
|
294
299
|
[#156]: https://github.com/arangamani/jenkins_api_client/issues/156
|
295
300
|
[#157]: https://github.com/arangamani/jenkins_api_client/issues/157
|
296
301
|
[#158]: https://github.com/arangamani/jenkins_api_client/issues/158
|
302
|
+
[#159]: https://github.com/arangamani/jenkins_api_client/issues/159
|
303
|
+
[#163]: https://github.com/arangamani/jenkins_api_client/issues/163
|
297
304
|
[@Loa]: https://github.com/Loa
|
298
305
|
[@Niarfe]: https://github.com/Niarfe
|
299
306
|
[@bobbrez]: https://github.com/bobbrez
|
@@ -319,6 +326,7 @@ v0.0.1 [15-OCT-2012]
|
|
319
326
|
[@rubytester]: https://github.com/rubytester
|
320
327
|
[@scotje]: https://github.com/scotje
|
321
328
|
[@spikegrobstein]: https://github.com/spikegrobstein
|
329
|
+
[@stjohnjohnson]: https://github.com/stjohnjohnson
|
322
330
|
[@sunaot]: https://github.com/sunaot
|
323
331
|
[@tjhanley]: https://github.com/tjhanley
|
324
332
|
[@woodbusy]: https://github.com/woodbusy
|
data/jenkins_api_client.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: jenkins_api_client 1.
|
5
|
+
# stub: jenkins_api_client 1.3.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "jenkins_api_client"
|
9
|
-
s.version = "1.
|
9
|
+
s.version = "1.3.0"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Kannan Manickam"]
|
14
|
-
s.date = "
|
14
|
+
s.date = "2015-01-03"
|
15
15
|
s.description = "\nThis is a simple and easy-to-use Jenkins Api client with features focused on\nautomating Job configuration programaticaly and so forth"
|
16
16
|
s.email = ["arangamani.kannan@gmail.com"]
|
17
17
|
s.executables = ["jenkinscli"]
|
@@ -489,7 +489,7 @@ module JenkinsApi
|
|
489
489
|
# @return [Boolean] whether Jenkins uses crumbs or not
|
490
490
|
#
|
491
491
|
def use_crumbs?
|
492
|
-
response = api_get_request("")
|
492
|
+
response = api_get_request("", "tree=useCrumbs")
|
493
493
|
response["useCrumbs"]
|
494
494
|
end
|
495
495
|
|
@@ -498,7 +498,7 @@ module JenkinsApi
|
|
498
498
|
# @return [Boolean] whether Jenkins uses security or not
|
499
499
|
#
|
500
500
|
def use_security?
|
501
|
-
response = api_get_request("")
|
501
|
+
response = api_get_request("", "tree=useSecurity")
|
502
502
|
response["useSecurity"]
|
503
503
|
end
|
504
504
|
|
@@ -141,6 +141,8 @@ module JenkinsApi
|
|
141
141
|
# the remote url for the selected scm provider
|
142
142
|
# @option params [String] :scm_credentials_id
|
143
143
|
# the id of the credentials to use for authenticating with scm. Only for "git"
|
144
|
+
# @option params [String] :scm_git_tool
|
145
|
+
# the git executable. Defaults to "Default"; only for "git"
|
144
146
|
# @option params [String] :scm_module
|
145
147
|
# the module to download. Only for use with "cvs" scm provider
|
146
148
|
# @option params [String] :scm_branch (master)
|
@@ -1619,7 +1621,7 @@ module JenkinsApi
|
|
1619
1621
|
xml.useShallowClone "false"
|
1620
1622
|
xml.buildChooser(:class =>
|
1621
1623
|
"hudson.plugins.git.util.DefaultBuildChooser")
|
1622
|
-
xml.gitTool "Default"
|
1624
|
+
xml.gitTool params.fetch(:scm_git_tool) { "Default" }
|
1623
1625
|
xml.submoduleCfg(:class => "list")
|
1624
1626
|
xml.relativeTargetDir
|
1625
1627
|
xml.reference
|
@@ -184,7 +184,7 @@ module JenkinsApi
|
|
184
184
|
def list(filter = "", ignorecase = true)
|
185
185
|
@logger.info "Obtaining views based on filter '#{filter}'"
|
186
186
|
view_names = []
|
187
|
-
response_json = @client.api_get_request("")
|
187
|
+
response_json = @client.api_get_request("", "tree=views[name]")
|
188
188
|
response_json["views"].each { |view|
|
189
189
|
if ignorecase
|
190
190
|
view_names << view["name"] if view["name"] =~ /#{filter}/i
|
@@ -319,6 +319,46 @@ describe JenkinsApi::Client do
|
|
319
319
|
@client.compare_versions("1.0.10", "1.0.2").should eql(1)
|
320
320
|
end
|
321
321
|
end
|
322
|
+
|
323
|
+
describe "#use_crumbs?" do
|
324
|
+
it "returns true if the server has useCrumbs on" do
|
325
|
+
expect(@client).to receive(:api_get_request).with("", "tree=useCrumbs") {
|
326
|
+
{
|
327
|
+
"useCrumbs" => true
|
328
|
+
}
|
329
|
+
}
|
330
|
+
@client.use_crumbs?.should == true
|
331
|
+
end
|
332
|
+
|
333
|
+
it "returns false if the server has useCrumbs off" do
|
334
|
+
expect(@client).to receive(:api_get_request).with("", "tree=useCrumbs") {
|
335
|
+
{
|
336
|
+
"useCrumbs" => false
|
337
|
+
}
|
338
|
+
}
|
339
|
+
@client.use_crumbs?.should == false
|
340
|
+
end
|
341
|
+
end
|
342
|
+
|
343
|
+
describe "#use_security?" do
|
344
|
+
it "returns true if the server has useSecurity on" do
|
345
|
+
expect(@client).to receive(:api_get_request).with("", "tree=useSecurity") {
|
346
|
+
{
|
347
|
+
"useSecurity" => true
|
348
|
+
}
|
349
|
+
}
|
350
|
+
@client.use_security?.should == true
|
351
|
+
end
|
352
|
+
|
353
|
+
it "returns false if the server has useSecurity off" do
|
354
|
+
expect(@client).to receive(:api_get_request).with("", "tree=useSecurity") {
|
355
|
+
{
|
356
|
+
"useSecurity" => false
|
357
|
+
}
|
358
|
+
}
|
359
|
+
@client.use_security?.should == false
|
360
|
+
end
|
361
|
+
end
|
322
362
|
end
|
323
363
|
end
|
324
364
|
|
data/spec/unit_tests/job_spec.rb
CHANGED
@@ -618,7 +618,12 @@ describe JenkinsApi::Client::Job do
|
|
618
618
|
|
619
619
|
describe '#scm_git' do
|
620
620
|
before do
|
621
|
-
@job.send(:scm_git, {
|
621
|
+
@job.send(:scm_git, {
|
622
|
+
scm_url: 'http://foo.bar',
|
623
|
+
scm_credentials_id: 'foobar',
|
624
|
+
scm_branch: 'master',
|
625
|
+
scm_git_tool: 'Git_NoPath',
|
626
|
+
}, xml_builder=Nokogiri::XML::Builder.new(:encoding => 'UTF-8'))
|
622
627
|
@xml_config = Nokogiri::XML(xml_builder.to_xml)
|
623
628
|
end
|
624
629
|
|
@@ -633,6 +638,10 @@ describe JenkinsApi::Client::Job do
|
|
633
638
|
it 'adds branch to scm branches' do
|
634
639
|
expect(@xml_config.at_css('scm branches name').content).to eql('master')
|
635
640
|
end
|
641
|
+
|
642
|
+
it 'adds gitTool to scm tag' do
|
643
|
+
expect(@xml_config.at_css('scm gitTool').content).to eql('Git_NoPath')
|
644
|
+
end
|
636
645
|
end
|
637
646
|
end
|
638
647
|
|
@@ -23,7 +23,7 @@ describe JenkinsApi::Client::View do
|
|
23
23
|
|
24
24
|
describe "InstanceMethods" do
|
25
25
|
describe "#initialize" do
|
26
|
-
it "initializes by receiving an
|
26
|
+
it "initializes by receiving an instance of client object" do
|
27
27
|
mock_logger = Logger.new "/dev/null"
|
28
28
|
@client.should_receive(:logger).and_return(mock_logger)
|
29
29
|
expect(
|
@@ -48,21 +48,21 @@ describe JenkinsApi::Client::View do
|
|
48
48
|
|
49
49
|
describe "#list" do
|
50
50
|
it "lists all views" do
|
51
|
-
@client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
|
51
|
+
@client.should_receive(:api_get_request).with("", "tree=views[name]").and_return(@sample_views_json)
|
52
52
|
response = @view.list
|
53
53
|
response.class.should == Array
|
54
54
|
response.size.should == 2
|
55
55
|
end
|
56
56
|
|
57
57
|
it "lists views matching specific filter" do
|
58
|
-
@client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
|
58
|
+
@client.should_receive(:api_get_request).with("", "tree=views[name]").and_return(@sample_views_json)
|
59
59
|
response = @view.list("test_view2")
|
60
60
|
response.class.should == Array
|
61
61
|
response.size.should == 1
|
62
62
|
end
|
63
63
|
|
64
64
|
it "lists views matching specific filter and matches case" do
|
65
|
-
@client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
|
65
|
+
@client.should_receive(:api_get_request).with("", "tree=views[name]").and_return(@sample_views_json)
|
66
66
|
response = @view.list("TEST_VIEW", false)
|
67
67
|
response.class.should == Array
|
68
68
|
response.size.should == 0
|
@@ -71,19 +71,19 @@ describe JenkinsApi::Client::View do
|
|
71
71
|
|
72
72
|
describe "#exists?" do
|
73
73
|
it "returns true a view that exists" do
|
74
|
-
@client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
|
74
|
+
@client.should_receive(:api_get_request).with("", "tree=views[name]").and_return(@sample_views_json)
|
75
75
|
@view.exists?("test_view2").should == true
|
76
76
|
end
|
77
77
|
|
78
78
|
it "returns false for non-existent view" do
|
79
|
-
@client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
|
79
|
+
@client.should_receive(:api_get_request).with("", "tree=views[name]").and_return(@sample_views_json)
|
80
80
|
@view.exists?("i_am_not_there").should == false
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
84
|
describe "#list_jobs" do
|
85
85
|
it "lists all jobs in the given view" do
|
86
|
-
@client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
|
86
|
+
@client.should_receive(:api_get_request).with("", "tree=views[name]").and_return(@sample_views_json)
|
87
87
|
@client.should_receive(:api_get_request).with("/view/test_view").and_return(@sample_view_json)
|
88
88
|
response = @view.list_jobs("test_view")
|
89
89
|
response.class.should == Array
|
@@ -91,7 +91,7 @@ describe JenkinsApi::Client::View do
|
|
91
91
|
end
|
92
92
|
|
93
93
|
it "raises an error if called on a non-existent view" do
|
94
|
-
@client.should_receive(:api_get_request).with("").and_return(@sample_views_json)
|
94
|
+
@client.should_receive(:api_get_request).with("", "tree=views[name]").and_return(@sample_views_json)
|
95
95
|
expect(
|
96
96
|
lambda { @view.list_jobs("i_am_not_there") }
|
97
97
|
).to raise_error
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jenkins_api_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kannan Manickam
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|