IN

Operator: IN

Description

This is a multi-purpose operator that has different uses, depending on the type of the field, they generally fall into 3 categories:

  • Numeric Fields
  • Picklists / Fields with values
  • Sub-selects

Numeric Fields

In numeric fields, the IN operator can be used to express range queries - for example:

Number IN [10,20]

Would return all entities which have a number between 10 and 20 inclusive.

Other numeric fields that support "In" are DateTime field

CreatedAt IN ['2011-1-1','2012-1-1']

And also Time Span fields:

EstimatedDuration IN ['5 minutes','1 day']

Picklists / fields with values

Fields which have a range of values, which include:

  • Picklists (Status, Type, Priority etc.)
  • Custom fields
  • EntityType
  • Project
  • Package

Also support IN - in these cases, the IN statement will act like an "OR", returning any records which match one or more of the values in the list.

Priority IN [High,Medium]

Please refer to the details of each field to see what type(s) of value(s) are supported i.e for packages you can supply either a Package's unique identifier, a package name or a package path, and those values can be mixed within a single IN statement:

Package IN ['cf1264f7-4e53-4e6d-b0a2-9f6c00a3a244', 'Cycle 2', '/Script Library/Cycle 1/User Interface']

Sub-selects

Sub-selects provide a way to filter a query based on the results of a second query - sub-selects differ from an IN statement for a range of values by being surrounded with curly braces { .. } as opposed to square brackets [].

Sub-selects are an advanced feature, and depending on the field the sub-select may "select into" a different index, which exposes a different set of available fields.

Here is an example of a sub-select to retrieve all Scripts which are related to requirements of Priority Critical within a specific project:

EntityType = Scripts AND RelatedTo IN { EntityType = Requirement AND Priority = Critical AND Project = 'Project XYZ' }