-
Type:
Bug
-
Resolution: Duplicate
-
Priority:
Low
-
Affects Version/s: 10.3.4
-
Component/s: Assets - Post Functions, Conditions and Validators
-
2
-
Severity 3 - Minor
-
13
Issue Summary
The Assets Post function, "Assign Objects from an AQL query based on data from an issue" does not work when Assets CF includes an "Active=true", where Active is a boolean attribute and when the AQL also incorporates an OR condition.
Example: objectType IN (Demo) or (objectType = "location" and Active=true)
Steps to Reproduce
- Create a new Jira project
- Create a new Assets Schema
- Create 2 Object Types. In this example, we will be creating Object Type "Demo" and Object Type "location"
- Object Type Demo: Create an User type attribute
- Object Type location: Create a Boolean type attribute. Let's call it: "Active"
- Create an Demo Object
- Fill in the User type attribute. For example 'admin' user

- Fill in the User type attribute. For example 'admin' user
- Create an Assets Custom field
- Add the following Filter Scope:
objectType IN (Demo) OR (objectType = "location" and Active=true)
- It is important that the AQL contains an OR

- Add the following Filter Scope:
- Add the following Post function "Assign Objects from an AQL query based on data from an issue" to the Project Workflow
- Add the following AQL:
objectType = Demo and User in ${reporter.id} and Status=Active

- Make sure to add the Post Functions after the 'Fire a Generic Event' action
- Add the following AQL:
- Create a Jira issue
- Ensure that the reporter is the same user as the once we added to the 'demo' object
- Trigger the workflow transition
Expected Results
The Assets CF should have been populated with the Assets Object. The object belongs to the first part of the AQL (objectType IN (Demo)).
Actual Results
Assets CF is not populated. By adding com.riadalabs.jira.plugins.insight.services.core.iql, there is the following exception in the atlassian-jira.log file:
IQLValidationException: IQLValidationException: No matching attribute for AQL clause ("Active" = true))
2025-04-24 13:41:04,970+0000 http-nio-8080-exec-26 url: /secure/CommentAssignIssue.jspa; user: admin DEBUG admin 821x12755x1 1ib1fyy /secure/CommentAssignIssue.jspa [c.r.j.p.i.s.c.iql.impl.IQLManagerImpl] findObjects, param AQL: objectSchemaId = 3 AND objectType = Customer AND "User" IN ("JIRAUSER10104") AND "Status" = Active AND (objectType IN ("Employee","Customer") AND "Status" = Active) OR (objectType = "CC Customer" AND "Active" = true) AND objectTypeId IN ("23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109") AND objectSchemaId = 3 2025-04-24 13:41:04,981+0000 http-nio-8080-exec-26 url: /secure/CommentAssignIssue.jspa; user: admin DEBUG admin 821x12755x1 1ib1fyy /secure/CommentAssignIssue.jspa [c.r.j.p.i.s.c.iql.impl.IQLManagerImpl] AQL exception, will return empty list for query <objectSchemaId = 3 AND objectType = Customer AND "User" IN ("JIRAUSER10104") AND "Status" = Active AND (objectType IN ("Employee","Customer") AND "Status" = Active) OR (objectType = "CC Customer" AND "Active" = true) AND objectTypeId IN ("23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99","100","101","102","103","104","105","106","107","108","109") AND objectSchemaId = 3> AQLManagerException(e=com.riadalabs.jira.plugins.insight.common.exception.IQLValidationException: IQLValidationException: No matching attribute for AQL clause ("Active" = true)) at com.riadalabs.jira.plugins.insight.services.core.iql.impl.ObjectPredicateAQLVisitor.getOtherPredicate(ObjectPredicateAQLVisitor.kt:345) at com.riadalabs.jira.plugins.insight.services.core.iql.impl.ObjectPredicateAQLVisitor.getAttributesPredicate(ObjectPredicateAQLVisitor.kt:286) at com.riadalabs.jira.plugins.insight.services.core.iql.impl.ObjectPredicateAQLVisitor.acceptTerminalClause(ObjectPredicateAQLVisitor.kt:164) at com.riadalabs.jira.plugins.insight.services.core.iql.impl.ObjectPredicateAQLVisitor.acceptTerminalClause(ObjectPredicateAQLVisitor.kt:56) at com.riadalabs.jira.plugins.insight.services.core.iql.model.IQLClauseVisitor.acceptIQLClause(IQLClauseVisitor.java:28) at com.riadalabs.jira.plugins.insight.services.core.iql.impl.ObjectPredicateAQLVisitor.acceptAndClause(ObjectPredicateAQLVisitor.kt:112) at com.riadalabs.jira.plugins.insight.services.core.iql.impl.ObjectPredicateAQLVisitor.acceptAndClause(ObjectPredicateAQLVisitor.kt:56) at com.riadalabs.jira.plugins.insight.services.core.iql.model.IQLClauseVisitor.acceptIQLClause(IQLClauseVisitor.java:22) at com.riadalabs.jira.plugins.insight.services.core.iql.model.IQLClauseVisitor.acceptPrecedenceClause(IQLClauseVisitor.java:67) at com.riadalabs.jira.plugins.insight.services.core.iql.model.IQLClauseVisitor.acceptIQLClause(IQLClauseVisitor.java:26) at com.riadalabs.jira.plugins.insight.services.core.iql.impl.ObjectPredicateAQLVisitor.acceptOrClause(ObjectPredicateAQLVisitor.kt:128) at com.riadalabs.jira.plugins.insight.services.core.iql.impl.ObjectPredicateAQLVisitor.acceptOrClause(ObjectPredicateAQLVisitor.kt:56) at com.riadalabs.jira.plugins.insight.services.core.iql.model.IQLClauseVisitor.acceptIQLClause(IQLClauseVisitor.java:20) at com.riadalabs.jira.plugins.insight.services.core.iql.impl.ObjectPredicateAQLVisitor.acceptAndClause(ObjectPredicateAQLVisitor.kt:112) at com.riadalabs.jira.plugins.insight.services.core.iql.impl.ObjectPredicateAQLVisitor.acceptAndClause(ObjectPredicateAQLVisitor.kt:56) at com.riadalabs.jira.plugins.insight.services.core.iql.model.IQLClauseVisitor.acceptIQLClause(IQLClauseVisitor.java:22) at com.riadalabs.jira.plugins.insight.services.core.iql.impl.IQLManagerImpl.appendIQLBeansAndSchemaToFilter(IQLManagerImpl.java:406) at com.riadalabs.jira.plugins.insight.services.core.iql.impl.IQLManagerImpl.toObjectFilter(IQLManagerImpl.java:370) at com.riadalabs.jira.plugins.insight.services.core.iql.impl.IQLManagerImpl.findObjects(IQLManagerImpl.java:184) at com.riadalabs.jira.plugins.insight.services.core.IQLServiceImpl.findObjects(IQLServiceImpl.java:74) at com.riadalabs.jira.plugins.insight.services.jira.workflow.InsightWorkflowFunction.typeAddObjectAutoAssignObjectIql(InsightWorkflowFunction.java:1068) at com.riadalabs.jira.plugins.insight.services.jira.workflow.InsightWorkflowFunction.execute(InsightWorkflowFunction.java:1014) at com.opensymphony.workflow.AbstractWorkflow.executeFunction(AbstractWorkflow.java:1014) at com.opensymphony.workflow.AbstractWorkflow.transitionWorkflow(AbstractWorkflow.java:1407) at com.opensymphony.workflow.AbstractWorkflow.doAction(AbstractWorkflow.java:557) at com.atlassian.jira.workflow.OSWorkflowManager.doWorkflowActionInsideTxn(OSWorkflowManager.java:840) at com.atlassian.jira.workflow.OSWorkflowManager.doWorkflowAction(OSWorkflowManager.java:798) at com.atlassian.jira.bc.issue.DefaultIssueService.transition(DefaultIssueService.java:537) at com.atlassian.jira.web.action.issue.CommentAssignIssue.doExecute(CommentAssignIssue.java:175) at webwork.action.ActionSupport.execute(ActionSupport.java:165) at com.atlassian.jira.web.action.JiraWebActionSupport.execute(JiraWebActionSupport.java:1383) Caused by: com.riadalabs.jira.plugins.insight.common.exception.IQLValidationException: IQLValidationException: No matching attribute for AQL clause ("Active" = true) ... 362 more
Workaround
Currently there is no known workaround for this behavior. A workaround will be added here when available
Versions Tested
Please confirm all versions that have been tested for this issue, and indicate whether the tested version is affected or not affected, below:
| Testing Requirements | Version | Affected Version |
|---|---|---|
| Customers Reported Version | 10.3.4 | Yes |
| Most Recent Bug-Fix Release | 9.17.5 | No |
| Previous Major Release | ||
| Most Recent LTS | ||
| Previous Supported LTS | ||
| Other Versions.. | ||
| (Add rows as needed) |
- duplicates
-
JSDSERVER-16195 Asset custom field configured with Specific AQL fails to load objects with an IQLValidationException error.
-
- Closed
-
- links to