Flow Filter
A polling query to be used by the sync process can be entered in the Flow Filter field. The poll query is interrogated by a specific App. The poll query formats for various applications supported by ConnectALL are provided below.
Atlassian Confluence
Confluence version 4.x to 5.7
The Confluence adapter uses search fields as filters. Listed below are the search fields that you can use for filtering in ConnectALL. You can also refer to the Confluence documentation page for further search fields.
labelText
Ex: labelText:requirements- title
Ex: title:feature* - type
Ex: type:page or type:blog - contentBody
Ex: contentBody:new feature
modified and spacekey are internally used by ConnectALL for filtering records
Confluence version 5.7+
Starting from Confluence version 5.7, Atlassian supports the page filtering using the Confluence Query Language (CQL). This provides an exhaustive set of fields that you can use in filtering the records to be synced to a destination.
Some of the most commonly used CQL fields include:
Ancestor
Ex: ancestor = 123 or ancestor in (123, 456, 789)Label
Ex: label = requirementsMacro
Ex: macro = Jira or macro in (toc,widget)Parent
Ex: parent = 123
Apart from the above query filters supported by Atlassian Confluence, ConnectALL exposes a custom query language to filter the records based on the content of the page. More details on custom query language are documented in the Confluence Adapter page under the Poll Query section.
Atlassian Jira
Jira follows the JQL (Jira Query Language).
Example 1: To fetch records from Jira with a status of Closed:
status='Closed'
You do not have to explicitly give the project name during any of the poll query configurations. ConnectALL will pick the project name automatically from the application link configuration.
Example 2: To fetch records from Jira with status as Open and with some specific version:
status='Open' AND fixVersion='1.10'
List of Operators | Purpose | Example |
---|---|---|
AND | Used to combine multiple clauses, allowing to refine the search | status = open and priority = urgent, and assignee = jsmith |
OR | Used to combine multiple clauses, allowing to expand the search | (reporter = jsmith or reporter = jbrown) |
NOT | Used to negate individual clauses | not assignee = jsmith (This will find all issues that are assigned to any user except jsmith |
EMPTY | Used to search for issues where a given field does not have a value | due date is empty due date is not empty (This will find all issues whose due date is not empty) |
= | EQUALS | reporter = jsmith |
!= | NOT EQUALS | assignee != jsmith |
> | GREATER THAN | votes > 4 |
>= | GREATER THAN EQUALS | votes >=4 |
< | LESS THAN | votes <4 |
<= | LESS THAN EQUALS | votes <=4 |
IN | Used to search for issues where the value of the specified field is one of multiple specified values | affectedVersion in ('3.14','4.2') |
NOT IN | Used to search for issues where the value of the specified field is not one of multiple specified values | affectedVersion in ('3.14','4.2') |
IS | Used to search for issues where the specified field has no value. Can be used only with EMPTY | fixVersion is empty |
IS NOT | Used to search for issues where the specified field has a value. Can be used only with EMPTY | fixVersion is not empty |
There are many more supported operations for JQL. For further reference, please check here.
In an app-link between Jira and VSTS, when there is more than one condition present in the poll query that is connected by logical operators (such as AND, OR, NOT), use parentheses to enclose the entire flow filter condition. If not, the logical operators take precedence and the app-link will not pick the records that satisfy the flow filter condition. For example:
SF_FlowFilterBS01~ 'CLJiraBugToADOBug' OR SF_FlowFilterBS01~ 'CLJiraBugToADOBugDesc' should be given as (SF_FlowFilterBS01~ 'CLJiraBugToADOBug' OR SF_FlowFilterBS01~ 'CLJiraBugToADOBugDesc')
In other app-links, if it’s the same scenario as above where you have used logical operators (but not enclosed within parentheses), use parentheses to enclose the flow filters if the synchronization does not happen as defined in the flow filters.
BMC Remedy
Please find below the list of operators supported:
List of Operators | Purpose |
---|---|
= | Equal to |
!= | Not equal to |
> | Greater than |
< | Less than |
>= | Greater than equal to |
<= | Less than equal to |
LIKE | Verifies for the similarity |
AND | Used to combine multiple clauses, allowing to refine the search |
OR | Used to combine multiple clauses, allowing to expand the search |
NOT | Used to negate individual clauses |
Example 1: To filter the records whose status is Assigned:
'Status'="Assigned"
Example 2: To filter the records whose status is Assigned and whose priority is Minor:
'Status'="Assigned" AND 'Priority'="Minor"
Cherwell Service Management
We have provided the flow filters for Cherwell Service Management here.
Digital.ai Agility (Formerly VersionOne)
Format: <filter-token>[<logical-operator><filter-token>]
filter-token: <field><comparison-operator>'<value>'
List of Comparison Operators | Purpose |
---|---|
= | Equals |
!= | Not Equals |
> | Greater Than |
< | Less Than |
>= | Greater Than Equals |
<= | Less Than Equals |
List of Logical Operators | Purpose |
---|---|
; | AND |
| | OR |
Example 1: To filter based on 'Priority' and 'Status'.
Defect.Priority='WorkitemPriority:140';Defect.Status='StoryStatus:133'
Example 2: To filter based on multiple status.
Defect.Status='StoryStatus:133','StoryStatus:134','StoryStatus:137'
Example 3: To filter a 'Portfolio' item whose 'Category' is 'Feature'.
Epic.Category='EpicCategory:208'
IBM ClearQuest
Example 1: To fetch records from CQ with the state set as Opened.
cq:State="Opened"
Example 2: To fetch records from CQ with a state of Opened or Assigned.
cq:State in ["Opened","Assigned"]
Example 3: To fetch all records that contain references to customers from the company named "ABC Company".
cq:customer{cq:Company="ABC Company"}
Example 4: To fetch all records in an Opened or assigned state that contains references to customers from the company named "ABC Company".
cq:customer{cq:Company="ABC Company"} AND cq:State in ["Opened","Assigned"]
Example 5: With OR condition
cq:State="Assigned" OR cq:Severity="1-Critical"
IBM Rational DOORS
We have provided the flow filters for IBM Rational DOORS here.
IBM Rational DOORS (ReST based)
We have provided the flow filters for IBM Rational DOORS (ReST based adapter) here.
IBM Rational DOORS Next Generation
Samples of the basic query capability: These examples show various actions that you can do with the query capability.
Example 1: For queries that are based on the artifact identifier.
oslc.where=dc:identifier=4
Example 2: For queries that are based on the artifact title.
oslc.where=dc:title="rrc_r_01"
Example 3: For queries that are based on a link type that is linked to a specific URL. This example uses the implemented by link type:
oslc.where=oslc_rm:implementedBy=<https://rtc.dev.calm:9443/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/8>
Example 4: For queries that are based on a link type that uses the "in" modifier. This example uses the implemented by link type:
oslc.where=oslc_rm:implementedBy in [<https://rtc.dev.calm:9443/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/20>,<https://rtc.dev.calm:9443/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/30>]
Example 5: To query requirements in a specific folder, use a query similar to:
oslc.where=nav:parent=<https://grarrc.ibm.com:9443/rm/folders/_RHCJYN5jEeGb6IIbvOh9Dw>
Example 6: To query all collections in a specific project use a query similar to:
oslc.where=rdf:type=<http://open-services.net/ns/rm#RequirementCollection>
Example 7: To query all artifacts in a collection based on the collection's identifier, use a query similar to:
oslc.where=dc:identifier=1
Example 8: To query all collections that contain one or several requirements, use a query similar to:
oslc.where=oslc_rm:uses in [<https://grarrc.ibm.com:9443/rm/resources/__JnIVvbREeGLlsbcKLgIyg>,<https://grarrc.ibm.com:9443/rm/resources/_AQkwZvbSEeGLlsbcKLgIyg>]
Example 9: To query all requirements in a specific project, use a query similar to:
oslc.where=rdf:type=<http://open-services.net/ns/rm#Requirement>
Example 10: To query all artifacts of a specific type, use a similar query to:
oslc.where=rm:ofType=<https://grarrc.ibm.com:9443/rm/types/_SAwm2t5jEeGb6IIbvOh9Dw>
Note: This code can be used as a workaround when you want to query against "oslc:instanceShape". The value that is used in the query can be obtained from either of these locations:
- The services document of the project in the Requirement Creation factory section.
- The "oslc:instanceShape" entry of a returned RDF requirement representation.
Example 11: To query all folders that contain artifacts in a project, use a query similar to:
oslc.where=rdf:type=<http://open-services.net/ns/rm#Requirement>
Example 12: To query all the artifacts that were modified on August 1, 2012, at 21:50:40.979 or later, use a query similar to:
oslc.where=dc:modified>="2012-08-01T21:51:40.979Z"%5E%5Exsd%3AdateTime
Note: This query must specify the date in the following format: ^^xsd:dateTime. (Must be encoded)
Example 13: To query all the artifacts that have the Status property set to 'Approved', use a similar query like below. Note: To run this type of query, you must obtain the value of the Approved state from the instance shape. After you have the value, create a query similar to the following:
&oslc.prefix=rm_property=<https://grarrc.ibm.com:9443/rm/types/>&oslc.where=rm_property:_PfIW0OrtEeGaNr-hWVrMiw=<https://grarrc.ibm.com:9443/rm/types/_PamcJOrtEeGaNr-hWVrMiw#3e9db9f1-3d5c-4716-aae0-f48d49260a8b>
Example 14: To query two or more properties, specify the "and" operator to separate the query conditionals.
&oslc.prefix=rm_property=<https://grarrc.ibm.com:9443/rm/types/>&oslc.where=rm_property:_PfIW0OrtEeGaNr-hWVrMiw=<https://grarrc.ibm.com:9443/rm/types/_PamcJOrtEeGaNr-hWVrMiw#3e9db9f1-3d5c-4716-aae0-f48d49260a8b>&oslc.where=rm_property:_PeT3certEeGaNr-hWVrMiw=<https://grarrc.ibm.com:9443/rm/types/_PbDvIurtEeGaNr-hWVrMiw>
IBM Rational Team Concert (RTC)
Samples of the basic query capability: These examples show various actions that you can do with the query capability.
Example 1: Work Items whose summary contains 'adoption':
dc:title="adoption*"
Example 2: Work Items created after a particular date (Date should be in UTC
according to IETF/RFC3339
standards)
dcterms:created>"2011-07-06T18:13:35.336Z"
Example 3: Query combining severity and priority using literal identifiers and references.
oslc_cmx:severity="severity.literal.l6" and oslc_cmx:priority=<https://localhost:9443/jazz/oslc/enumerations/_ggTXcJdTEeCznInpJMXHdQ/priority/priority.literal.l4>
Example 4: The following query illustrates the use of nested properties. It finds the set of work items owned by a user using the user name.
dcterms:contributor{foaf:name="John Smith"}
Example 5: Work Items tagged with 'tvt' or 'mustfix
dcterms:subject in ["tvt","mustfix"]
Jama
Format: "fieldname:value"
Supported Logical Operators: AND, OR
Example 1: To filter items whose name contains the word 'linking':
"name:linking"
Example 2: To filter items whose priority value is 'medium':
"priority:medium"
Example 3: To filter items whose name contains the word 'linking' and whose priority value is 'medium':
"priority:"medium" AND name:"linking""
Example 4: To filter items whose name contains the word 'test' or whose priority value is 'medium':
"priority:"medium" OR name:"test""
Micro Focus ALM Octane
To filter, use a query statement, which comprises at least one query phrase.
- The query statement is contained within double quotes: "query statement".
- The query statement has the following syntax:
- Example:
- "
<query phrase>[[<logical operator><query phrase>]]
" ( [negate keyword] ( "<field name> <comparison operator> <value>" ) )
- "
- This means that when a query statement contains more than one query phrase, separate each query phrase with an And (;) or an Or (||) logical operator.
- Example:
Find below the list of operators supported:
Supported Operators:
Operator type | Operator | Functionality | Example |
---|---|---|---|
Comparison operators | Comparison operators are used to separate between field names and their values. | ||
EQ | Equal to | id EQ 1001 | |
LT | Less than | id LT 1001 | |
GT | Greater than | id GT 1001 | |
LE | Less than or equal to | id LE 1001 | |
GE | Greater than or equal to | id GE 1001 | |
IN | Exists in a list of values, separated by commas. | id IN [current_user],1001, 1002, 1003 | |
BTW | Exists in a range of values, specified by ... This is an inclusive range. This is the same as saying greater than or equal to a number and less than or equal to another number. | id BTW 12…16 | |
Logical operators | Logical operators are used to separate between query phrases or query statements. | ||
; | And | ||
|| | Or | ||
! | Not The negation operator ! is optional. This operator reverses the meaning of the subsequent operand. |
Values
Type | Description | Examples |
---|---|---|
Numeric | Numeric values are placed after the comparison operator.
|
|
Boolean | Valid values: true or false. /<some_entities>?query="<some_boolean_field_name> EQ true" | has_attachments EQ true |
String / Memo | Must be wrapped in carets: ^string^ Wildcard supported is * | Features:
Phases:
|
Reference | Filtering a reference value means the ability to filter on field values of the referenced entity. Reference values have the following syntax:
The Reference field can reference a single entity or many entities, meaning, a multi-reference field. In the case of multi-reference fields, the equality operator works as a containment operator. | The defect entity has a reference field to a release entity that is called detected_in_release. We want to filter all the defects that were detected in the release named release1:
We want to filter all the defects that have no reference to any release in the detected_in_release field:
(Note that null is wrapped in curly braces.) |
Date / DateTime | Must be wrapped in carets: ^date^ The expected date and time format is ISO-8601. Example
The date and time is UTC. | For filtering purposes, filter should be in UTC and ISO-8601 format. /<some_entities>?query=”<some_date_field_name> LT ^2015-02-25T16:42:11Z^ When filtering, Date and DateTime values behave like strings. |
Escaping Special Characters
Character | Escaped Character (URI Encoded) | Comments |
---|---|---|
" | \" ( %5C%22 ) | |
^ | \^ ( %5C%5E ) | |
\ | \\ ( %5C%5C ) | |
' | \q ( %5Cq ) | |
< | \l ( %5Cl ) | |
> | \g ( %5Cg ) | |
* | N/A | Filtering by this character is not supported |
{ | \{ ( %5C%7B ) | |
( | \( ( %5C( ) | |
) | \) ( %5C) ) | |
[ | \[ ( %5Cb ) | |
? | \? ( %5C%3F ) |
Cross-Filter
You can cross-filter to filter the values of a different entity's fields. That is, you can filter by a referenced field that is filtered by another reference field.
There is no limit to the number of cross-filters you can nest in a query.
Example:
"Severity EQ {id EQ 1003}"
- It attempts to list defects whose Severity matches name High, but you can reference only the ID field when cross-filtering list value fields.
"detected_in_release EQ {sprints EQ {id EQ 1006}}"
"qa_owner EQ {id EQ 1003}"
- list defects whose QA owner field matches ID number 1003.
"qa_owner EQ {name EQ 'Ann*'}"
- list defects whose QA owner field matches the name, Ann.
Micro Focus ALM/Quality Center
There are two types of filter expressions that are supported in ALM/QC.
- Single Entity expression
- Cross Filter expression
Example 1: To fetch data with an execution status of 'Not Completed':
exec-status['Not Completed']
Single Entity Expressions
QC — Poll Query
- The expression applied to a field will be in square brackets []
- The field delimiter is a semicolon (;)
- The only operation supported between fields is AND. The AND operation is implicit and is not specified in the query syntax. Only the ";" delimiter is specified.
- For example; id[>1 AND NOT 5]; status[Ready OR Design] — This query specifies any test whose ID is greater than one, excluding test 5, and whose status is Ready or Design.
List of Operators | Purpose | Example |
---|---|---|
> | GREATER THAN | id[>10] |
< | LESS THAN | id[<10] |
<> | NOT EQUALS | id[<>10] |
>= | GREATER THAN EQUALS | id[>=10] |
<= | LESS THAN EQUALS | id[<=10] |
AND | Used to combine multiple clauses, allowing to refine the search | id[>=10 AND 5] |
OR | Used to combine multiple clauses, allowing to expand the search | status[Ready OR Design] |
NOT | Used to negate individual clauses | status[NOT (Ready or Design)] |
Cross Filter Expressions
If there is a relational connection between two expressions and two entity types, a collection can be filtered on the related entities. Use the unique alias that represents the relation for the cross filter.
Example 2: Tests in status 'Ready' that are linked to defects assigned to user SallyQA.
status[Ready]; defect.owner[SallyQA]
Example 3: Tests that are linked to defects assigned to user Joe.
defect.owner[joe]
When values have spaces in them, please ensure to place the text inside single quotes (''). For example, if "No Run" is the status value in QC when trying to configure a poll query, create it as status[Ready OR 'No Run'].
Micro Focus Service Manager
Simple key/value pair delimited by '&'.
Example: field1=value1&field2=value2
Microsoft Common Adapter
Samples of the basic query capability
These examples show various actions that you can do with the query capability.
List of Operators | Purpose |
---|---|
= | Equals |
<> | Not Equals |
> | Greater Than |
< | Less Than |
>= | Greater Than Equals |
<= | Less Than Equals |
In | To determine the data from a set of values. For example, System.State In ('New','Open') |
AND | Used to combine multiple clauses, allowing to refine the search |
OR | Used to combine multiple clauses, allowing to expand the search |
NOT | Used to negate individual clauses |
LIKE | Verifies for the similarity |
Poll Query
The field name to be used in the poll query is the "Ref Name" of Visual Studio Team Services. The "Ref Name" for the field(s) can be verified in the Field Mapping grid.
Example 1: To filter the records whose State is in New and Open.
[System.State] In ('New','Open')
Example 2: To filter only the records whose Severity is Critical.
[Microsoft.VSTS.Common.Severity] = '1-Critical'
Example 3: To filter the records whose State is New and Severity is Critical.
[System.State] = 'New' AND [Microsoft.VSTS.Common.Severity] = '1-Critical'
In an app-link between Jira and VSTS, when there is more than one condition present in the poll query that is connected by logical operators (such as AND, OR, NOT), use parentheses to enclose the entire flow filter condition. If not, the logical operators take precedence and the app-link will not pick the records that satisfy the flow filter condition. For example:
SF_FlowFilterBS01~ 'CLJiraBugToADOBug' OR SF_FlowFilterBS01~ 'CLJiraBugToADOBugDesc' should be given as (SF_FlowFilterBS01~ 'CLJiraBugToADOBug' OR SF_FlowFilterBS01~ 'CLJiraBugToADOBugDesc')
In other app-links, if it’s the same scenario as above where you have used logical operators (but not enclosed within parentheses), use parentheses to enclose the flow filters if the synchronization does not happen as defined in the flow filters.
Microsoft Project Server
In MSPS, the 'Tasks' can be filtered based on simple poll query configuration.
Example 1: To filter only the child task which is configured at level 2 (i.e. as the first child) and OutlineLevel eq 2.
Example 2: To filter the Task whose percentage of completion is 0 and PercentCompleted eq 0.
Microsoft Project Server poll query will be of the format—"FieldName <operator> value". The operators can be either logical like "eq, gt, le", etc...(as mentioned below) or arithmetic like "sub, add" etc., The various query operators that are supported are as follows:
List of Operators | Purpose |
---|---|
eq | Equals |
ne | Not Equals |
gt | Greater than |
ge | Greater than or equal |
lt | Less than |
le | Less than or equal |
Also, the poll query of Microsoft Project Server will be of the format "FieldName <operator> value". The Operators can be either Logical like "eq, gt, le" etc., or Arithmetic like "sub, add" etc.,
Examples
- To filter the tasks based on an outline level 2 the poll query will be "OutlineLevel eq 2".
- To filter the tasks based on Completion percentage will be "TaskPercentCompleted eq 0".
- To filter the tasks based on Task start date will be "TaskStartDate gt datetime'2019-08-15'T'00:00:01'".
- If you are using multiple flow filters, separate them using and.
Microsoft Team Foundation Server
All the basic operators and conditional operators are supported in Microsoft TFS poll query as well. However, certain operators are supported based on the field type.
Field Type | Supported Operators |
---|---|
Integer, Double | =, <>, >, <, >=, <= |
DateTime | =, <>, >, <, >=, <= |
String | =, <>, >, <, >=, <=, Contains |
PlainText | Contains PS: Contains operator to search for a substring anywhere in the field value |
TreePath | Under, =, <> |
Example 1: To query all work items with ID greater than 100:
[System.ID] > 100
Example 2: To query all work items changed the afternoon of January 1, 2015:
[System.ChangedDate] > '1/1/2015 12:00:00'
- Single/Double quotes must be specified for DateTime literals used in comparisons. They must be in the format of the local client computer running the query. Unless a time zone is specified, DateTime literals are in the time zone of the local computer.
- Single/Double quotes must be specified for String/PlainText literals used in comparisons.
Example 3: With time zone.
[Adatum.Lite.ResolvedDate] = '1/1/15 GMT'
[Adatum.Lite.ResolvedDate] >= '1/8/06 GMT' and [Resolved Date/Time] < '1/9/06 GMT'
Example 4: With string literal.
[Adatum.Lite.Blocking] = 'Not Blocking'
Example 5: With special operators (IN operator will evaluate a field value is equal to any of a set of values).
[System.CreatedBy] in ('joselugo', 'jeffhay', 'linaabola')
Example 6: With AND/OR operator.
[System.CreatedBy] = 'joselugo' OR [System.CreatedBy] = 'jeffhay' OR [System.CreatedBy] = 'linaabola'
Example 7: With EVER operator — used to evaluate whether a field value equals or has ever equaled a particular value throughout all past revisions of work items. The snippet below fetches whether all work items were ever assigned to 'joselugo'.
ever ([Assigned To] = ‘joselugo')
[Assigned To] ever ‘joselugo'.
Example 8: Negate condition using NOT.
[System.AssignedTo] not ever 'joselugo'
For Further reference, please see Work Item Query Reference.
Perforce
Jobs can be searched or filtered using the poll query configuration for Perforce.
Example 1: To search for all jobs that contain the words filter, file and mailbox.
p4 jobs -e 'filter file mailbox'.
Example 2: To search for jobs that contain any of the words filter, file and mailbox.
p4 jobs -e 'filter|file|mailbox'.
Example 3: To search for all jobs which have the word string (use of wildcard *).
p4 jobs -e '\*string'.
Example 4: To search for all jobs with status as Open and user as Bruno and which has the word filter.c.
p4 jobs -e 'Status=open User=bruno filter.c'.
Example 5: To search for all open jobs which the user Bruno does not own and that contain the word filter.
p4 jobs -e 'status=open ^user=bruno filter'.
Note:
- To search date fields, specify the date using the format yyyy/mm/dd or yyyy/mm/dd:hh:mm:ss. If you omit time, the equality operator (=) matches the entire day.
- To view all jobs modified on July 13, 2011
p4 jobs -e 'ModifiedDate=2011/07/13'.
For further reference, please check Perforce Documentation.
Rally Software
Read the information provided below before you create flow filters for Rally.
Query Syntax
A query is composed of a left-hand-side (LHS), an operator and a right-hand-side value (RHS). The LHS can either be the name of an object attribute ("Name" for example) or it can be another query. If the LHS of a query is an attribute name, the RHS must be a value thatʼs legal to compare to that attribute.
For instance, the Defect type has the attributes Name and TargetBuild. The following are examples of valid queries:
(Name contains "foo")(TargetBuild = "12345")((Name contains "foo") and (TargetBuild = "12345"))However, you cannot simply chain expressions together with operators, like this:((Name contains "foo") AND (Notes contains "bar") AND (Description contains "baz"))The expression above must be formed with parentheses enclosing each evaluated LHS-operator-RHS grouping:(((Name contains "foo") AND (Notes contains "bar")) AND (Description contains "baz"))Some grammar rules and operators for queries:
QueryString | → | ( AttributeName SPACE AttributeOperator SPACE AttributeValue ) ( AttributePath SPACE AttributeOperator SPACE AttributeValue ) ( QueryString SPACE BooleanOperator SPACE QueryString ) |
AttributeOperator | → | = != > < >= <= contains !contains |
BooleanOperator | → | AND OR |
AttributeName | → | The name of the attribute being queried. Name, Notes, etc. |
AttributePath | → | The path to an attribute. For instance, when querying for defects in an iteration, use the path "Defect.Iteration" because Defect has an "Iteration" attribute. |
AttributeValue | → | The value of the attribute. Strings with spaces must use double-quotes, not single-quotes. Object references should be expressed as the ReST URL for the object. Use "null" (double quotations optional) to query for a null value in an object reference, integer, decimal or date attribute. Arguments are not case sensitive. |
Example 1: Work items with specific text in the name.
(Name contains "Technical Debt")
Example 2: Work items in a specific iteration (by name).
(Iteration.Name = "September Sprint 2")
Example 3: Work items with no value selected on a custom drop-down field.
(DropDownField = "")
Example 4: Open defects
(State < "Closed")
Example 5: User stories associated with a parent.
(Parent.FormattedID = 18)
Example 6: User stories with defects.
(Defects.ObjectID != null)
Example 7: Open defects, owned by Bob, associated to a specific user story.
(((Owner.UserName = "bob@dobalina.com") and (State < "Closed")) and (Requirement.Name = "Story 2"))
Example 8: Defects without tags.
(Tags.ObjectID = null)
Example 9: Chain expressions.
(((Name contains "tito") AND (Notes contains "randy")) AND (Description contains "germaine"))
Example 10: Multiple conditions.
((((((PlanEstimate = "null") OR (PlanEstimate = "1")) OR (PlanEstimate = "4")) OR (PlanEstimate = "8")) OR (PlanEstimate = "16" )) AND (Release.Name = "Release One"))
Note:
- Always check for the correct parenthesis syntax otherwise the query may yield wrong result.
- Field values must be queried using the correct case. For example, query and Query is different.
For further reference, please see General Query Examples and Build APP Queries.
Salesforce
Example poll queries for case entity:
Filter based on case type:
Type = 'Bug'
Filter based on account or contact:
When using OR option make sure to add parenthesis to evaluate the expression correctly.
(ContactId = '003280000072LpGAAU' OR AccountId = '00128000008LxDfAAK')
Filter based on Case type and account or contact:
Type='Bug' AND (ContactId = '003280000072LpGAAU' OR AccountId = '00128000008LxDfAAK')
Note: Poll query are SOQL filters in Salesforce without the "WHERE" or "AND" keyword preceding it.
SAP Solution Manager
Flow Filter
Below is the list of SolMan fields that can be used in flow-filter.
Field Name | Field Description | Example |
---|---|---|
PARTNER_FCT | Partner Function | PARTNER_FCT eq 'YDCR0002' |
PARTNER | BusinessPartner | PARTNER eq ‘3898’ |
PROCESS_TYPE | Transaction Type | PROCESS_TYPE eq 'YDCR' |
USER_STATUS | Status | USER_STATUS eq 'E0003' |
CREATED_AT_F | Created At From | CREATED_AT_F eq '20210720112413' |
CREATED_AT_T | Created At To | CREATED_AT_T eq '20210722112413' |
CHANGED_AT_F | Changed At From | CHANGED_AT_F eq '20210720112413' |
CHANGED_AT_T | Changed At To | CHANGED_AT_T eq '20210722112413' |
MINE | Indicator | MINE eq true |
COMPLETED | Indicator | COMPLETED eq false |
MAX_HITS | Max. No of hits | MAX_HITS eq '100' |
Syntax : <fieldname> <operator> <value>
Logical Operators | |
---|---|
eq | Equal |
ne | Not equal |
gt | Greater than |
ge | Greater than or equal |
lt | Less than |
le | Less than or equal |
and | Logical and |
or | Logical or |
not | Logical negation |
Grouping Operators | ||
---|---|---|
( ) | Precedence grouping |
Seapine TTP
Poll Query support is not available.
ServiceNow
The ServiceNow API lets you filter the records in two ways.
- URL based filter with query parameters
- SysParmQuery format
URL based filters follow a simple Key = Value
pair combinations separated by an "&" character. The only relational operators you can use are "and" and "=" for filtering.
Example 1: To search all records in Open state.
state=Open
Example 2: To search all records in Open state and assigned to john.smith.
state=Open&assigned_to=john.smith
SysParmQuery based filters are the same filters that you use to filter the records in the application. It can help you write more complex queries for your filtering needs.
Example 1: To search all records in an Open state.
#sysparmquery# state=Open
Example 2: To search all records where a assigned is not empty and a checkbox is checked.
#sysparmquery# assigned_toISNOTEMPTY^x_11154_ca_fromca=true
The ServiceNow filters need to be prefixed with #sysparmquery# as shown in the example to use the SysParmQueryFormat.
Generating SysParmQuery Filters
It is very easy to get the syntax for your poll query from the ServiceNow application. Follow the below steps to generate your poll queries.
- Open your ServiceNow application, and select the records that you want to filter.
- Click on the filter and build your query as per your requirements.
- Click Run to test your filter.
- Once you get the expected result, right click on the "Filter" and select "Copy Query".
- You can use the copied query in the ConnectALL poll query field prefixed with "#sysparmquery#".
SmartBear QA Complete
Operation | Description | Possible value | Example |
---|---|---|---|
= | is equal | string constant or other string field | Title = 'My issue' |
!= | is nor equal | string constant or other string field | Status != 'Active' |
~ | is like | pattern with '%' as wild card | Description ~ 'Amanda%' |
!~ | is not like | pattern with '%' as wild card | Description !~ '%Orlando%' |
in | is one of | array of string constants | Status in {'Closed','Resolved'} |
not in | is not one of | array of string constants | FolderId not in {329423,234435,21894} |
is | check for specific value | 'empty' | Description is empty |
is not | check for specific value | 'empty' | Description is not empty |
Operation | Description | Possible value | Example |
---|---|---|---|
= | is equal | numeric constant or other numeric field | AssigneeUserId = 1486 |
!= | is nor equal | numeric constant or other numeric field | AssigneeUserId != 1486 |
> | is greater | numeric constant or other numeric field | NbrFiles > 2 |
< | is less | numeric constant or other numeric field | NbrFiles < 5 |
>= | is greater or equal | numeric constant or other numeric field | NbrNote >= 3 |
<= | is less or equal | numeric constant or other numeric field | NbrNote <= 1 |
in | is one of | array of numeric constants | FolderId in {329423,234435,21894} |
not in | is not one of | array of numeric constants | FolderId not in {329423,234435,21894} |
is | check for specific value | 'empty' | FolderId is empty |
is not | check for specific value | 'empty' | FolderId is not empty |
Operation | Description | Possible value | Example |
---|---|---|---|
= | is equal | 'true' or 'false' | IsActive = true |
!= | is not equal | 'true' or 'false' | IsActive != true |
Operation | Description | Possible value | Example |
---|---|---|---|
= | is equal | date constant or datetime constant or other date field | DateCreated = '2015-05-12' |
!= | is nor equal | date constant or datetime constant or other date field | DateCreated != '2015-05-12' |
> | is greater | date constant or datetime constant or other date field | DateCreated > '2015-05-12' |
< | is less | date constant or datetime constant or other date field | DateCreated < '2015-05-12' |
>= | is greater or equal | date constant or datetime constant or other date field | DateCreated >= '2015-05-12' |
<= | is less or equal | date constant or datetime constant or other date field | DateCreated <= '2015-05-12' |
in | is one of | array of date constants | DateCreated in {'2015-05-12','2015-06-12','2015-07-12','2015-08-12'} |
not in | is not one of | array of date constants | DateCreated not in {'2015-05-12','2015-06-12','2015-07-12','2015-08-12'} |
is | check for specific value | 'empty' | DateClosed is empty |
is not | check for specific value | 'empty' | DateClosed is not empty |
Notes: we can allow predefined constants such as "TODAY", "NOW". TODAY — date without time, NOW — with time. A value can be a date with time or a date without time (If a date without time condition will be easy to understand). EXAMPLE: DataCreated = '2015-05-12' — all entities created on this date. DataCreated = '2015-05-12 14:30' — all entities created at 14:30 on this date. |
* Use AND, OR to join two or more conditions.
Zendesk
ConnectALL supports poll queries for the Zendesk adapter. The query syntax for (search_string) is detailed here. To give you a quick overview, we have listed down some syntax samples below.
Syntax examples
Query | Returns |
---|---|
query=type:ticket status:open | Open tickets |
query=status<solved requester:user@domain.com type:ticket | Unsolved tickets requested by user@domain.com |
query=type:user tags:premium_support | Users tagged with "premium_support" |
query=created>2012-07-17 type:ticket organization:"MD Photo" | Tickets created in the MD Photo org after July 17, 2012 |
For more syntax examples, click here.