Skip to main content

External Properties

Writing specifications can include making cost estimations or approving test results. Adding data about requirements on the original page can make the page really heavy and hard to read. Constantly editing those data can also disrupt the viewers. That's why we have created external properties.

Requirement Yogi allows you to add, edit and track requirement data without disturbing the viewers or the author of the original page.  External properties are not visible on the original page but you can see them in the traceability matrix or when you click on the requirement popup. External properties are also exportable to Excel with the traceability matrix.

External Properties have types:

 - Text

 - Decimal (eg: 54.4)

 - Integer (eg: 5)

 - Boolean: True/False

Decimal and Integer types allow the creation of aggregations in the traceability matrix: sum, min, max, count, and average.

Examples of use cases:

Estimate the total man hours of a parent requirement.

  • Create an integer or decimal external property in your space (eg: "Man hours", or "Story points")

  • Use the traceability matrix to estimate the time investment for each requirement (Filter your traceabilty matrix with the search query: "to = '<ParentRequirementKey>' " to estimate cost of a parent requirement)

  • Use the edit toggle to quickly assign a cost to each requirement

  • Use the SUM aggregator to calculate the total time cost.

Track the approval state of a requirement

We currently don't  have an Enum type that would only allow a few values, so you will need to make use of the text type, and make sure to have the correct values (Beware capitalization and trailing spaces!). We plan to add this Enum type in the future.

  • Create a text external property (eg: "Approval State")

  • Add this property to the relevant requirements you want to track. We suggest having a set of possible values (eg: "Draft", "Ready for review", "Approved") and limit yourself to those.

  • Use the COUNT aggregator to count the requirements: COUNT([email protected]<PropertyName>, criteria). (Eg: COUNT([email protected]\ State, [email protected]\ State = 'Ready for review") )

Managing External Properties

The external properties administration can be found in the Requirement Yogi configuration panel for space admins.

  • The creation of a new external property is restricted to Confluence admins.

  • Regular users with page edit permissions can still add or modify external properties on requirements, but cannot create a new type of external property.

  • Users without page edit permissions can see the external properties on requirements, but cannot modify them.

Adding external properties to a requirement

In the traceability matrix

If you can edit Confluence pages and you add an external property to the traceabilty matrix

You will be able to see the "Edit Values" toggle.

Clicking on the toggle allows you to quickly modify external properties on multiple requirements.

Entering the wrong type of value for an external property will still save the value, but it won't be taken in account when doing aggregations.

In the requirement details page

The external properties are displayed, and you can add a property by clicking the add button, or modify properties on a requirement by clicking on the value field.

The available external properties may not all be displayed, but you can simply search them by name.

Overview of the Requirement Details page

Modifying an external property

Adding an external property

Using aggregations

For "String" and "Boolean" external properties

Only the COUNT is available. It counts the number of external properties with a value.

For "Decimal" and "Integer" external properties

More operators are available: SUM, AVG, MIN and MAX. The properties with no values or invalid values are not taken in account in the calculation.

You will need to manually refresh the aggregator to redo the calculation if you update the values of the external properties.

Changing the operator

Click on the cog in the aggregator cell to change the calculation type.

You can also hide the totals if the default aggregation is not relevant. Spaces in property names must be escaped with a \ character (Eg: [email protected]\ State)

Calculation examples:

Property type



Integer or Decimal

COUNT([email protected])

Counts the requirements with a Cost external property

COUNT([email protected] > 2)


COUNT([email protected], [email protected] > 2)

Counts the requirements with a Cost external property greater than 2

AVG([email protected], [email protected] > 2 AND jira = 'JIR-1')

Counts the requirements with a Cost external property greater than 2 associated to the Jira ticket 'JIR-1'

SUM([email protected] > 2)

Calculates the sum of Cost external properties

MIN([email protected])

Calculates the minimal Cost of requirements with a Cost external property.

MAX([email protected], to = 'REQ-001')

Calculates the maximal Cost of requirements with a Cost external property that are children dependencies of 'REQ-001'


COUNT([email protected]\ State, [email protected] is not null)

Counts the requirements with an "Approval State" external property, and a Cost external property

SUM, AVG, Min, and MAX not available


COUNT([email protected]\ Result)

Counts the requirements where the external property "Test Result" is true

Search requirements with specific external properties

You can execute search queries on external properties. See our Search Syntax for more details.

In the requirements details, you can also search for requirements with the same values by clicking the "link" icon, and the search query will be constructed for you.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.