Summary
Please add support for using Fields’ custom fields as criteria in GLPI’s Administration → Rules → Business rules for tickets.
Today, Fields exposes custom fields in search and forms, and provides an action to update custom fields in rules. However, the same fields are not available as criteria when building Business Rules.
Current behavior
GLPI: 10.0.14
Fields: 1.21.22
In Business rules for tickets → Criteria, only core ticket attributes are available. Fields’ custom fields do not appear.
In Actions, it’s possible to “update additional fields of the ticket”, which suggests partial integration, but the lack of criteria prevents many automations.
Expected behavior
When a Fields container is attached to Ticket and its fields are active, those fields should appear under the Criteria dropdown (with appropriate types: text, number/integer, yes/no, date, dropdown, etc.).
Ideally, criteria should be grouped (e.g., “Fields – ”) and support the same operators as core criteria for the matching datatype.
Why this matters
Many workflows need to trigger actions based on values in Fields (e.g., payment amount/date, internal codes, approval flags), not only set them.
Having these as criteria allows full parity with core attributes and avoids custom code/plugins.
Environment
GLPI 10.0.14 (Docker)
Fields 1.21.22 (installed via Marketplace)
MariaDB 10.x, PHP 8.x
Steps to reproduce
Create a Fields container for Ticket (e.g., ticketpagamentos) with fields like:
valordepagamentofield (integer/number)
datadepagamentofield (date)
Go to Administration → Rules → Business rules for tickets → Add.
In Criteria, look for those fields → they are not listed.
In Actions, “Update additional fields of the ticket” exists → partial support only.
Proposed approach
Dynamically register Fields’ active ticket fields into the criteria list for RuleTicket::getCriterias(), mapping datatypes correctly.
(If needed) Provide an API hook for plugins to extend criteria for existing rule subtypes (Ticket) — something akin to addMoreCriteria() in the Rules API — so Fields can inject its fields without patching core.
References
Rules API / plugin rule collections and criteria/actions: developer docs (see “Rules Engine” and “Add a new Rule class”)
glpi-developer-documentation.readthedocs.io
Hooks around rule processing (e.g., ruleCollectionPrepareInputDataForProcess): developer docs (plugins → hooks)
glpi-developer-documentation.readthedocs.io
Fields plugin docs / repo: overview and capabilities
glpi-plugins.readthedocs.io
GitHub
Thanks for considering! Happy to help test a beta build.
Summary
Please add support for using Fields’ custom fields as criteria in GLPI’s Administration → Rules → Business rules for tickets.
Today, Fields exposes custom fields in search and forms, and provides an action to update custom fields in rules. However, the same fields are not available as criteria when building Business Rules.
Current behavior
GLPI: 10.0.14
Fields: 1.21.22
In Business rules for tickets → Criteria, only core ticket attributes are available. Fields’ custom fields do not appear.
In Actions, it’s possible to “update additional fields of the ticket”, which suggests partial integration, but the lack of criteria prevents many automations.
Expected behavior
When a Fields container is attached to Ticket and its fields are active, those fields should appear under the Criteria dropdown (with appropriate types: text, number/integer, yes/no, date, dropdown, etc.).
Ideally, criteria should be grouped (e.g., “Fields – ”) and support the same operators as core criteria for the matching datatype.
Why this matters
Many workflows need to trigger actions based on values in Fields (e.g., payment amount/date, internal codes, approval flags), not only set them.
Having these as criteria allows full parity with core attributes and avoids custom code/plugins.
Environment
GLPI 10.0.14 (Docker)
Fields 1.21.22 (installed via Marketplace)
MariaDB 10.x, PHP 8.x
Steps to reproduce
Create a Fields container for Ticket (e.g., ticketpagamentos) with fields like:
valordepagamentofield (integer/number)
datadepagamentofield (date)
Go to Administration → Rules → Business rules for tickets → Add.
In Criteria, look for those fields → they are not listed.
In Actions, “Update additional fields of the ticket” exists → partial support only.
Proposed approach
Dynamically register Fields’ active ticket fields into the criteria list for RuleTicket::getCriterias(), mapping datatypes correctly.
(If needed) Provide an API hook for plugins to extend criteria for existing rule subtypes (Ticket) — something akin to addMoreCriteria() in the Rules API — so Fields can inject its fields without patching core.
References
Rules API / plugin rule collections and criteria/actions: developer docs (see “Rules Engine” and “Add a new Rule class”)
glpi-developer-documentation.readthedocs.io
Hooks around rule processing (e.g., ruleCollectionPrepareInputDataForProcess): developer docs (plugins → hooks)
glpi-developer-documentation.readthedocs.io
Fields plugin docs / repo: overview and capabilities
glpi-plugins.readthedocs.io
GitHub
Thanks for considering! Happy to help test a beta build.