jenkins_pipeline_builder 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1b24c99f73cecb047e1f58cd328000f81ee3b31c
4
- data.tar.gz: 43f6ce844efe1ed19940d3e8d0dfaab50b243d79
3
+ metadata.gz: 294473072fd747d1bd02d377b9ddfd17c2c46c38
4
+ data.tar.gz: a7a28bae727b44af5402760d465e5e643e55ba16
5
5
  SHA512:
6
- metadata.gz: 82bce578c0a059d5cbee047fcd984bbe765174ed58e96601c721b41eb806583e4301959822a6bbe1e729dbdce2636b99d30d9ae00ec877171b1b9b490ecd59c0
7
- data.tar.gz: 60bc6c5d94f07227b5750813455267f80c05f2dc7a677bfb972829acd6f32d17e7673eb1b211a3ac849bc085b8d8f6d0682e023a4081e5b74bc2f8fd32848ef5
6
+ metadata.gz: 2ad2144de19201c8702bfc73c46958a00306c294ce716f0307a6532cc2be0d11b5baeef30d4101ae46a0e4bfff904d92185ac45127f1cebf7769157513d810e4
7
+ data.tar.gz: c0d8d748642d6a417e3d022d4cbf6c3fbcc6e1093dc433473e0b3791002048b264af90cc29c3aabc5f6c397abee3764fcbb41b2a2adca6cf1e1f955d6b181c24
data/README.md CHANGED
@@ -256,6 +256,9 @@ Here's a high level overview of what's available:
256
256
  recipients: 'test@example.com' # Whitepace-delimited list of recipients
257
257
  send_if_unstable: false # Optional, default to true
258
258
  send_to_individuals: true # Optional, default to false
259
+ - sonar_result:
260
+ branch: 'sonar-results-branch-name'
261
+ maven_installation_name: 'name'
259
262
  triggers:
260
263
  - git_push: true
261
264
  - scm_polling: 'H/5 * * * *'
@@ -54,7 +54,11 @@ job_attribute do
54
54
  xpath('//scm/recursiveSubmodules').remove if params[:recursive_update]
55
55
  xpath('//scm/wipeOutWorkspace').remove if params[:wipe_workspace]
56
56
  xpath('//scm/excludedUsers').remove if params[:excluded_users]
57
- xpath('//scm/userRemoteConfigs').remove if params[:remote_name] || params[:refspec]
57
+ if params[:remote_name] || params[:refspec]
58
+ remote_url = xpath('//scm/userRemoteConfigs/hudson.plugins.git.UserRemoteConfig/url').first
59
+ params[:remote_url] = remote_url.content if remote_url
60
+ xpath('//scm/userRemoteConfigs').remove
61
+ end
58
62
  xpath('//scm/skipTag').remove if params[:skip_tag]
59
63
  xpath('//scm/excludedRegions').remove if params[:excluded_regions]
60
64
  xpath('//scm/includedRegions').remove if params[:included_regions]
@@ -66,21 +70,16 @@ job_attribute do
66
70
  recursiveSubmodules params[:recursive_update] if params[:recursive_update]
67
71
  wipeOutWorkspace params[:wipe_workspace] if params[:wipe_workspace]
68
72
  excludedUsers params[:excluded_users] if params[:excluded_users]
69
- if params[:remote_name]
73
+ if params[:remote_name] || params[:refspec]
70
74
  userRemoteConfigs do
71
75
  send('hudson.plugins.git.UserRemoteConfig') do
72
- name params[:remote_name]
76
+ name params[:remote_name] if params[:remote_name]
77
+ refspec params[:refspec] if params[:refspec]
78
+ url params[:remote_url] if params[:remote_url]
73
79
  end
74
80
  end
75
81
  end
76
82
  skipTag params[:skip_tag] if params[:skip_tag]
77
- if params[:refspec]
78
- userRemoteConfigs do
79
- send 'hudson.plugins.git.UserRemoteConfig' do
80
- refspec params[:refspec]
81
- end
82
- end
83
- end
84
83
  excludedRegions params[:excluded_regions] if params[:excluded_regions]
85
84
  includedRegions params[:included_regions] if params[:included_regions]
86
85
  end
@@ -21,5 +21,5 @@
21
21
  #
22
22
 
23
23
  module JenkinsPipelineBuilder
24
- VERSION = '0.7.0'
24
+ VERSION = '0.7.1'
25
25
  end
@@ -0,0 +1,72 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ describe 'job_attributes' do
4
+ after :each do
5
+ JenkinsPipelineBuilder.registry.clear_versions
6
+ end
7
+
8
+ before :all do
9
+ JenkinsPipelineBuilder.credentials = {
10
+ server_ip: '127.0.0.1',
11
+ server_port: 8080,
12
+ username: 'username',
13
+ password: 'password',
14
+ log_location: '/dev/null'
15
+ }
16
+ end
17
+
18
+ after :each do |example|
19
+ name = example.description.gsub ' ', '_'
20
+ File.open("./out/xml/job_attribute_#{name}.xml", 'w') { |f| @n_xml.write_xml_to f }
21
+ end
22
+
23
+ context 'scm params' do
24
+ before :each do
25
+ allow(JenkinsPipelineBuilder.client).to receive(:plugin).and_return double(
26
+ list_installed: { 'git' => '20.0' })
27
+
28
+ builder = Nokogiri::XML::Builder.new { |xml| xml.scm }
29
+ @n_xml = builder.doc
30
+
31
+ Nokogiri::XML::Builder.with(@n_xml.xpath('//scm').first) do |xml|
32
+ xml.userRemoteConfigs do
33
+ xml.send('hudson.plugins.git.UserRemoteConfig') do
34
+ xml.url 'http://foo.com'
35
+ end
36
+ end
37
+ end
38
+ end
39
+
40
+ it 'writes one block when both refspec and remote_name' do
41
+ params = { scm_params: { refspec: :bar, remote_name: :foo }, scm_url: 'http://foo.com' }
42
+
43
+ JenkinsPipelineBuilder.registry.traverse_registry_path('job', params, @n_xml)
44
+
45
+ remote_config = @n_xml.root.children.first.children.first
46
+
47
+ expect(remote_config.name).to match 'hudson.plugins.git.UserRemoteConfig'
48
+
49
+ expect(remote_config.css('name').first).to be_truthy
50
+ expect(remote_config.css('refspec').first).to be_truthy
51
+
52
+ expect(remote_config.css('name').first.content).to eq 'foo'
53
+ expect(remote_config.css('refspec').first.content).to eq 'bar'
54
+ end
55
+
56
+ it 'using remote_name does not remove the remote url' do
57
+ params = { scm_params: { remote_name: :foo }, scm_url: 'http://foo.com' }
58
+
59
+ JenkinsPipelineBuilder.registry.traverse_registry_path('job', params, @n_xml)
60
+
61
+ remote_config = @n_xml.root.children.first.children.first
62
+
63
+ expect(remote_config.name).to match 'hudson.plugins.git.UserRemoteConfig'
64
+
65
+ expect(remote_config.css('name').first).to be_truthy
66
+ expect(remote_config.css('url').first).to be_truthy
67
+
68
+ expect(remote_config.css('name').first.content).to eq 'foo'
69
+ expect(remote_config.css('url').first.content).to eq 'http://foo.com'
70
+ end
71
+ end
72
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jenkins_pipeline_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Moochnick
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-07-24 00:00:00.000000000 Z
12
+ date: 2014-08-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -357,6 +357,7 @@ files:
357
357
  - pipeline/project.yaml
358
358
  - spec/lib/jenkins_pipeline_builder/compiler_spec.rb
359
359
  - spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
360
+ - spec/lib/jenkins_pipeline_builder/extensions/job_attributes_spec.rb
360
361
  - spec/lib/jenkins_pipeline_builder/extensions/publishers_spec.rb
361
362
  - spec/lib/jenkins_pipeline_builder/extensions_spec.rb
362
363
  - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/PullRequest-10-SampleJob.yaml
@@ -407,6 +408,7 @@ summary: This gem is will boostrap your Jenkins pipelines
407
408
  test_files:
408
409
  - spec/lib/jenkins_pipeline_builder/compiler_spec.rb
409
410
  - spec/lib/jenkins_pipeline_builder/extensions/builders_spec.rb
411
+ - spec/lib/jenkins_pipeline_builder/extensions/job_attributes_spec.rb
410
412
  - spec/lib/jenkins_pipeline_builder/extensions/publishers_spec.rb
411
413
  - spec/lib/jenkins_pipeline_builder/extensions_spec.rb
412
414
  - spec/lib/jenkins_pipeline_builder/fixtures/generator_tests/pullrequest_pipeline/PullRequest-10-SampleJob.yaml