Sha256: 82a58d2fb8faeabea308e41e6c05a9d780fbbfa7dc3488d987078cb2a06b0bc5

Contents?: true

Size: 1.13 KB

Versions: 4

Compression:

Stored size: 1.13 KB

Contents

class CoberturaReportHelper < ExtensionHelper
  def thresholds
    @thresholds ||= params[:metric_targets]
    return @thresholds if @thresholds

    @thresholds = {
      failing: [
        { type: 'type', value: 0 },
        { type: 'line', value: 0 },
        { type: 'conditional', value: 0 }
      ],
      unhealthy: [
        { type: 'type', value: 0 },
        { type: 'line', value: 0 },
        { type: 'conditional', value: 0 }
      ],
      healthy: [
        { type: 'type', value: 80 },
        { type: 'line', value: 80 },
        { type: 'conditional', value: 70 }
      ]
    }
  end

  def send_metric_targets(target)
    name = "#{target}Target"

    builder.instance_exec self do |helper|
      send name do
        targets 'class' => 'enum-map', 'enum-type' => 'hudson.plugins.cobertura.targets.CoverageMetric' do
          helper.thresholds[target].each do |threshold|
            entry do
              send('hudson.plugins.cobertura.targets.CoverageMetric') { text threshold[:type].upcase }
              send('int') { text(threshold[:value] * 100_000).to_i }
            end
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jenkins_pipeline_builder-1.10.0 lib/jenkins_pipeline_builder/extensions/helpers/publishers/cobertura_report_helper.rb
jenkins_pipeline_builder-1.9.1 lib/jenkins_pipeline_builder/extensions/helpers/publishers/cobertura_report_helper.rb
jenkins_pipeline_builder-1.9.0 lib/jenkins_pipeline_builder/extensions/helpers/publishers/cobertura_report_helper.rb
jenkins_pipeline_builder-1.8.0 lib/jenkins_pipeline_builder/extensions/helpers/publishers/cobertura_report_helper.rb