class CoberturaReportHelper

Public Instance Methods

send_metric_targets(target) click to toggle source
# File lib/jenkins_pipeline_builder/extensions/helpers/publishers/cobertura_report_helper.rb, line 25
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
thresholds() click to toggle source
# File lib/jenkins_pipeline_builder/extensions/helpers/publishers/cobertura_report_helper.rb, line 2
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