Links

Troubleshooting

‌If you are experiencing issues generating the report(s) e.g. it won't download - download theOffline ReportGen Tool from the Reporting Module and try checking your browser console to see what the error is. AttackForge ReportGen has verbose errors enabled to help you identify the root cause of your problem.
To identify where an issue might be in your DOCX template, try downloading a template from the Template Library and modify it step-by-step until it matches your report style, testing it as you go to identify where it is breaking.
AttackForge ReportGen is built on DOCXTemplater. They also include useful information on how the meta tags work, especially when it comes to loops and nesting.
We have included details below on how the tags work, to help you with creating your custom templates:
Reminder: ReportGen only works with AttackForge JSON Reports.

!Help - Available Tags/Scope

{$help["%()"]}
Use this procedure to print diagnostic information to your ReportGen browser console, to help you with understanding what scope (tags/keys) is available. This helps you to access that correct data you need in your report.
Insert this tag in the relevant section in your template where you want to see what data is available to you, and how to access it.

Example - Printing Help when looping in Affected Assets

This example will show you what data is available to you in each loop iteration.
{#vulnerabilities}
{#affected_assets}
{$help["%()"]}
{/}{/}

General Syntax rules

{<tag>} - displays value of the tag {#<tag>} - opens a for-loop for a tag. Used if accessing nested data e.g. a list or array {.} - display values of string array e.g. ['hello', 'sir', 'how', 'are', 'you?'] will translate to: hello sir how are you? {/<tag>} - closes a for-loop for a tag. You can also use {/}. {^<tag>}{/<tag>} - where tag is not defined, display following e.g. {^<tag>} Tag Not Defined / Value Not Found {/<tag>} {%<tag>} - display image
The following information is taken from DOCXTemplater help site. It is recommended to visit their site directly for the latest updates and for more information.
Example:
{user.name}
To access the nested name property in the following data :
{
user: {
name: 'John'
}
}
You can also use +, -, *, /, >, < operators.