13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/plugins/inspec-reporter-json-min/lib/inspec-reporter-json-min/reporter.rb', line 13
def report report = {
controls: [],
statistics: { duration: run_data.statistics.duration },
version: run_data.version,
}
run_data.profiles.each do |profile|
profile_id = profile.name
profile.controls.each do |control|
control_id = control.id
control.results.each do |result|
result_for_report = {
id: control_id,
profile_id: profile_id,
profile_sha256: profile.sha256,
status: result.status,
code_desc: result.code_desc,
}
result_for_report[:skip_message] = result.skip_message if result.non_nil?(:skip_message)
result_for_report[:resource] = result.resource if result.non_nil?(:resource)
result_for_report[:message] = result.message if result.non_nil?(:message)
result_for_report[:exception] = result.exception if result.non_nil?(:exception)
result_for_report[:backtrace] = result.backtrace if result.non_nil?(:backtrace)
report[:controls] << result_for_report
end
end
end
report
end
|