jenkins_pipeline_builder 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1b4ed8e1fdf73907f2ff1299661b53c5f3f9c7c5
4
- data.tar.gz: e0a9a769e290a3daf806e06e28d217c095921563
3
+ metadata.gz: 7bf0df7f8b52e79d53a8d106abab7c4861384b59
4
+ data.tar.gz: 3585b7e0a012af2e09119404e74ac7799c6c2310
5
5
  SHA512:
6
- metadata.gz: a64b280c805686de28ac128f15b688816caa7617e26519133d2e69eb68cf4957be7b1e2c04871f33cfce12a4079af5c08129ce1e5938ac52a5f26671e240c69c
7
- data.tar.gz: f1d4bb4e5e27fb73b334e565ff7dab95c78e5f62e7badd9f1567d3f7c59780548227a895a702e74156a1540c31057cc5e22f514ad81c0bfa4c23e99ec4b4ab75
6
+ metadata.gz: 9fe2202133c819bf5662aefc1821e348ee8b4cd27e8e8f01caea41fafb971337534d4cfe78075a3680be2103bd28665528c8c70697af4bb9b8261359d8fd1f42
7
+ data.tar.gz: d1036ed7087a645635880ae86292308190ad3d32eacd7afe1db2e16264081ae3a59785fb252d85e844223a380445da728c5425cb4ce66a33a940b94ae898069b
@@ -323,6 +323,21 @@ builder do
323
323
  end
324
324
  end
325
325
 
326
+ builder do
327
+ name :nodejs_script
328
+ plugin_id 'nodejs'
329
+ description 'Lets you run nodejs scripts as a build step.'
330
+ jenkins_name 'Node_js script'
331
+ announced false
332
+
333
+ xml do |params|
334
+ send('jenkins.plugins.nodejs.NodeJsCommandInterpreter', 'plugin' => 'nodejs@0.2.2') do
335
+ command params[:script]
336
+ nodeJSInstallationName params[:nodeJS_installation_name]
337
+ end
338
+ end
339
+ end
340
+
326
341
  builder do
327
342
  name :checkmarx_scan
328
343
  plugin_id 'checkmarx'
@@ -565,3 +565,31 @@ publisher do
565
565
  end
566
566
  end
567
567
  end
568
+
569
+ publisher do
570
+ name :cucumber_reports
571
+ plugin_id 'cucumber-reports'
572
+ description 'Provides Jenkins integration for publishing the cucumber reports'
573
+ jenkins_name 'Publish cucumber results as a report'
574
+ announced true
575
+
576
+ version '0' do
577
+ xml do
578
+ send('net.masterthought.jenkins.CucumberReportPublisher') do
579
+ jsonReportDirectory
580
+ pluginUrlPath
581
+ skippedFails false
582
+ undefinedFails false
583
+ noFlashCharts false
584
+ end
585
+ end
586
+ end
587
+
588
+ version '3.0.0' do
589
+ xml do |params|
590
+ send('net.masterthought.jenkins.CucumberReportPublisher') do
591
+ fileIncludePattern params[:file_include_pattern]
592
+ end
593
+ end
594
+ end
595
+ end
@@ -21,5 +21,5 @@
21
21
  #
22
22
 
23
23
  module JenkinsPipelineBuilder
24
- VERSION = '1.0.0'.freeze
24
+ VERSION = '1.1.0'.freeze
25
25
  end
@@ -237,6 +237,38 @@ describe 'builders' do
237
237
  end
238
238
  end
239
239
 
240
+ context 'nodejs_script' do
241
+ let(:params) do
242
+ {
243
+ builders: {
244
+ nodejs_script: {
245
+ script: 'console.log("Hello World")', nodeJS_installation_name: 'Node_6.9.2'
246
+ }
247
+ }
248
+ }
249
+ end
250
+
251
+ before :each do
252
+ allow(JenkinsPipelineBuilder.client).to receive(:plugin).and_return double(
253
+ list_installed: { 'nodejs' => '0.2.2' }
254
+ )
255
+ begin
256
+ JenkinsPipelineBuilder.registry.traverse_registry_path('job', params, @n_xml)
257
+ rescue RuntimeError => err
258
+ puts 'Runtime Error: ' + err.to_s
259
+ end
260
+ builder = @n_xml.root.children.first
261
+ expect(builder.name).to match 'jenkins.plugins.nodejs.NodeJsCommandInterpreter'
262
+ end
263
+
264
+ it 'generates a configuration' do
265
+ command = @n_xml.xpath '//jenkins.plugins.nodejs.NodeJsCommandInterpreter/command'
266
+ install_version = @n_xml.xpath '//jenkins.plugins.nodejs.NodeJsCommandInterpreter/nodeJSInstallationName'
267
+ expect(command.children.first.content).to eq 'console.log("Hello World")'
268
+ expect(install_version.children.first.content).to eq 'Node_6.9.2'
269
+ end
270
+ end
271
+
240
272
  context 'conditional_multijob_step' do
241
273
  let(:default_params) do
242
274
  {
@@ -242,6 +242,52 @@ describe 'publishers' do
242
242
  end
243
243
  end
244
244
 
245
+ context 'cucumber_reports' do
246
+ context '0' do
247
+ before :each do
248
+ allow(JenkinsPipelineBuilder.client).to receive(:plugin).and_return double(
249
+ list_installed: { 'cucumber-reports' => '0' }
250
+ )
251
+ end
252
+ it 'generates a configuration' do
253
+ params = { publishers: { cucumber_reports: {} } }
254
+ cucumber_reports = JenkinsPipelineBuilder.registry.registry[:job][:publishers][:cucumber_reports]
255
+ expect(cucumber_reports.extension.min_version).to eq '0'
256
+
257
+ JenkinsPipelineBuilder.registry.traverse_registry_path('job', params, @n_xml)
258
+
259
+ publisher = @n_xml.root.children.first
260
+ expect(publisher.name).to match 'net.masterthought.jenkins.CucumberReportPublisher'
261
+ children = publisher.children.map(&:name)
262
+ expect(children).to include 'jsonReportDirectory'
263
+ expect(children).to include 'pluginUrlPath'
264
+ expect(children).to include 'skippedFails'
265
+ expect(children).to include 'undefinedFails'
266
+ expect(children).to include 'noFlashCharts'
267
+ end
268
+ end
269
+
270
+ context '3.0.0' do
271
+ before :each do
272
+ allow(JenkinsPipelineBuilder.client).to receive(:plugin).and_return double(
273
+ list_installed: { 'cucumber-reports' => '3.0.0' }
274
+ )
275
+ end
276
+ it 'generates a configuration' do
277
+ params = { publishers: { cucumber_reports: {} } }
278
+ cucumber_reports = JenkinsPipelineBuilder.registry.registry[:job][:publishers][:cucumber_reports]
279
+ expect(cucumber_reports.extension.min_version).to eq '3.0.0'
280
+
281
+ JenkinsPipelineBuilder.registry.traverse_registry_path('job', params, @n_xml)
282
+
283
+ publisher = @n_xml.root.children.first
284
+ expect(publisher.name).to match 'net.masterthought.jenkins.CucumberReportPublisher'
285
+ children = publisher.children.map(&:name)
286
+ expect(children).to include 'fileIncludePattern'
287
+ end
288
+ end
289
+ end
290
+
245
291
  context 'git' do
246
292
  it 'generates a configuration'
247
293
  end
@@ -17,6 +17,7 @@ PUBLISHERS = {
17
17
  claim_broken_build: ['0'],
18
18
  cobertura_report: ['0'],
19
19
  coverage_result: ['0'],
20
+ cucumber_reports: ['0', '3.0.0'],
20
21
  description_setter: ['0'],
21
22
  downstream: ['0'],
22
23
  email_ext: ['0'],
@@ -45,7 +46,8 @@ BUILDERS = {
45
46
  checkmarx_scan: ['0'],
46
47
  system_groovy: ['0'],
47
48
  sonar_standalone: ['0'],
48
- conditional_multijob_step: ['0']
49
+ conditional_multijob_step: ['0'],
50
+ nodejs_script: ['0']
49
51
  }.freeze
50
52
 
51
53
  TRIGGERS = {
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: 1.0.0
4
+ version: 1.1.0
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: 2016-11-17 00:00:00.000000000 Z
12
+ date: 2017-02-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -484,7 +484,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
484
484
  version: '0'
485
485
  requirements: []
486
486
  rubyforge_project:
487
- rubygems_version: 2.6.6
487
+ rubygems_version: 2.6.8
488
488
  signing_key:
489
489
  specification_version: 4
490
490
  summary: This gem is will boostrap your Jenkins pipelines