Tutorial: Create a Custom Finding Rule¶
OpenEA Community allows Architecture Administrators to create governed declarative finding rules. Custom rules do not execute arbitrary Python code.
Example goal¶
Create a rule that identifies Applications missing a chosen field or property.
1. Open Finding Rules¶
Sign in as an Architecture Administrator and choose:
Management → Finding Rules → New
2. Choose a supported rule type¶
OpenEA 1.5.2 supports these declarative rule types:
- missing_field
- date_threshold
- missing_relationship
- relationship_count
- related_object_status
- risk_threshold
- review_overdue
- duplicate_name
For this tutorial choose missing_field.
3. Define the rule¶
Use a clear name and description. Select Application as the object type, choose a supported universal or Application-specific field, select severity, and enable the rule.
OpenEA validates internal field names against the metamodel. A rule cannot reference arbitrary undefined properties.
4. Save and evaluate¶
Saving a rule queues finding evaluation. You can also trigger evaluation administratively:
python -m app.cli evaluate-findings
For immediate troubleshooting:
python -m app.cli evaluate-findings-now
5. Inspect evidence¶
Open any resulting Finding. Confirm that its evidence explains why the repository object matched the rule.
6. Understand custom-rule lifecycle¶
Custom rules receive IDs such as:
CUSTOM-0001
Deleting a custom rule is a soft archival operation. OpenEA disables and archives the rule while preserving historical findings and audit events.
Built-in rules cannot be deleted.