Report macro: Insert a traceability matrix into a page
You can now share your traceability matrices more easily with your coworkers, by inserting them in your Confluence pages.
How to embed your report
In the Confluence page editor:
| ![]() |
| ![]() |
By default, we display the title and description of the matrix. If you do not want to see them in the Confluence page, you can remove them with the toggle. | ![]() |
Once the report is embedded and the page published, you can interact with the report like you would in the Traceability tab:
| ![]() |
Advanced options
Edit external properties in the Report
On macro creation, you can decide to allow users to edit the external properties directly in the Confluence page by checking “Enable the edition of external properties in the report macro” Changes to external property values will then be saved. | ![]() |
Use template variables
The report macro supports template variables in the search query to make traceability matrices modular and reusable.
Template variables allow you to save traceability matrices with a dynamic search query that can be adjusted when used in a report macro, without modifying the original traceability matrix.
This is particularly useful when embedding the same traceability matrix across multiple Confluence pages with only slight modifications to the search query.
Syntax for template variables
Template variables are defined using:
A dollar sign
$
,Curly braces
{ }
And a given name (e.g.
${variableName}
).You can also provide a default value by appending a colon
:
, followed by the default value (e.g.${variableName:Default value}
).
ℹ️ If you have description, text or property that looks like a variable but is not one, you can escape the characters using a backslash (e.g. \${variableName}
).
Example:
${prefix}
: A variable namedprefix
with no default value.${prefix:BR}
: A variable namedprefix
with a default value ofBR
.\${prefix}
: Literal text${prefix}
that should not be treated as a variable.
System variables
You can also use system variable allowing you to have dynamic reports based on your current page or variant. The use is the same as template variables, however the variable name here are fixed:
SYSTEM_PAGE_ID
: will be replaced by the page where the report is inserted ine.g.
key ~ 'BR%' and page = ${SYSTEM_PAGE_ID}
will show all the requirements having a key starting by “BR” and being defined in the page where the report is inserted in.
SYSTEM_VARIANT_NAME
andSYSTEM_VARIANT_ID
:e.g.
key ~ 'BR%' AND variant = '${SYSTEM_VARIANT_NAME}'
will show all the requirements having a key starting by “BR” and being in the variant of the current page where the report is inserted in.
IN DEVELOPMENT
SYSTEM_SPACE_KEY
e.g.
key ~ 'BR%' AND space = '${SYSTEM_SPACE_KEY}'
will show all the requirements having a key starting by “BR” and being in the space of the current page where the report is inserted in.
How to use template variables in the “Traceability” tab
| ![]() |
| ![]() ![]() |
| ![]() |
How to use template variables in the report macro editor
| ![]() |
| ![]() |
| ![]() |
| ![]() |
Export your reports in PDF
You can export your reports in PDF by clicking on the three dots at the top-right of the page and on export. The dynamic RY Report macro will be visible just like this:

Permissions cross spaces
You can insert macros that pull data from an other Confluence space. The report macro uses the permissions of the space where it was saved to display requirements.
As an exemple, if Alice creates a report in space A, and decides to insert it in space B, Bob will not be able to see the results of the report if he doesn’t have the view permission on space A.