grype/templates
Firas AlShafei 8e1cce03c8
feat: add html template (#1806)
- responsive template using datatables.js
- filtering option
- pdf export option

Signed-off-by: Firas AlShafei <firas.alshafei@hitachienergy.com>
2024-04-16 11:41:50 -04:00
..
csv.tmpl Add a simple CSV format template to the templates/ directory and tweak docs (#1366) 2023-06-29 17:05:17 -04:00
html.tmpl feat: add html template (#1806) 2024-04-16 11:41:50 -04:00
junit.tmpl docs(example-templates): add a simple JUnit XML template (#1422) 2023-08-08 16:12:56 +00:00
README.md feat: add html template (#1806) 2024-04-16 11:41:50 -04:00
table.tmpl feat: add community template folder and new table template (#1343) 2023-06-09 11:33:20 -04:00

Grype Templates

This folder contains a set of "helper" go templates you can use for your own reports.

Please feel free to extend and/or update the templates for your needs, be sure to contribute back into this folder any new templates!

Current templates:

.
├── README.md
├── html.tmpl
├── junit.tmpl
├── csv.tmpl
└── table.tmpl

Table

This template mimics the "default" table output of Grype, there are some drawbacks using the template vs the native output such as:

  • unsorted
  • duplicate rows
  • no (wont-fix) logic

As you can see from the above list, it's not perfect but it's a start.

HTML

Produces a nice html template with a dynamic table using datatables.js.

You can also modify the templating filter to limit the output to a subset.

Default includes all

    {{- if or (eq $vuln.Vulnerability.Severity "Critical") (eq $vuln.Vulnerability.Severity "High") (eq $vuln.Vulnerability.Severity "Medium") (eq $vuln.Vulnerability.Severity "Low") (eq $vuln.Vulnerability.Severity "Unknown") }}

We can limit it to only Critical, High, and Medium by editing the filter as follows

    {{- if or (eq $vuln.Vulnerability.Severity "Critical") (eq $vuln.Vulnerability.Severity "High") (eq $vuln.Vulnerability.Severity "Medium") }}