---
search:
  exclude: true
---

# <a id="bitdrift.public.unary.issues.v1.AdvancedFilter"></a>AdvancedFilter

Defines advanced filtering for issue groups.

 Each condition specifies a filter key, an operator, and a right-hand-side
 value. Depending on the selected field and operator, the right-hand side can
 represent a string, a semantic version, or another documented field-specific
 value.

 Conditions within each OrCondition are ORed together, and the list of
 OrConditions is ANDed together. For example:
 [condition1 OR condition2] AND [condition3] AND [condition4]

 AdvancedFilter {
  andConditions:
   [
     OrCondition{
       orConditions: [
         Condition{lhsTyped: LHS_TYPED_APP_ID, operator: EQUAL, rhs: "com.example.app"},
         Condition{lhsTyped: LHS_TYPED_APP_ID, operator: EQUAL, rhs: "com.example.app2"}
       ]
     },
     OrCondition{orConditions: [Condition{lhsTyped: LHS_TYPED_PLATFORM, operator: EQUAL, rhs: "ANDROID"}]}
   ]
 }

| Field | Type | Description |
|---|---|---|
| and_conditions | <span class="proto-type proto-type-message">repeated [<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">issues</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">AdvancedFilter</i><i class="proto-type-dot">.</i><i class="proto-type-part">OrCondition</i>](#bitdrift.public.unary.issues.v1.AdvancedFilter.OrCondition){ title="bitdrift.public.unary.issues.v1.AdvancedFilter.OrCondition"}</span> |  |

#### Example
```json
{
  "and_conditions": [
    {
      "or_conditions": [
        {
          "lhs_typed": "LHS_TYPED_APP_ID",
          "operator": "EQUAL",
          "rhs": "com.example.app"
        }
      ]
    }
  ]
}
```

# <a id="bitdrift.public.unary.issues.v1.AdvancedFilter.Condition"></a>AdvancedFilter.Condition

| Field | Type | Description |
|---|---|---|
| lhs_typed | <span class="proto-type proto-type-enum">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">issues</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">AdvancedFilter</i><i class="proto-type-dot">.</i><i class="proto-type-part">Condition</i><i class="proto-type-dot">.</i><i class="proto-type-part">LhsTyped</i>](#bitdrift.public.unary.issues.v1.AdvancedFilter.Condition.LhsTyped){ title="bitdrift.public.unary.issues.v1.AdvancedFilter.Condition.LhsTyped"}</span> | The filter key to match against. |
| operator | <span class="proto-type proto-type-enum">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">common</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Operator</i>](bitdrift_public_unary_common_v1_Operator.md#bitdrift.public.unary.common.v1.Operator){ title="bitdrift.public.unary.common.v1.Operator"}</span> |  |
| rhs | <span class="proto-type proto-type-primitive">string</span> |  |

#### Example
```json
{
  "lhs_typed": "LHS_TYPED_APP_ID",
  "operator": "EQUAL",
  "rhs": "com.example.app"
}
```

# <a id="bitdrift.public.unary.issues.v1.AdvancedFilter.Condition.LhsTyped"></a>AdvancedFilter.Condition.LhsTyped

| Name | Number | Description |
|---|---|---|
| LHS_TYPED_UNSPECIFIED | 0 |  |
| LHS_TYPED_APP_ID | 1 |  |
| LHS_TYPED_PLATFORM | 2 |  |
| LHS_TYPED_APP_VERSION | 3 |  |
| LHS_TYPED_OS_VERSION | 4 |  |
| LHS_TYPED_MODEL | 5 |  |
| LHS_TYPED_REASON | 6 |  |
| LHS_TYPED_CONTEXT | 7 |  |
| LHS_TYPED_REPORT_TYPE | 8 |  |

# <a id="bitdrift.public.unary.issues.v1.AdvancedFilter.OrCondition"></a>AdvancedFilter.OrCondition

| Field | Type | Description |
|---|---|---|
| or_conditions | <span class="proto-type proto-type-message">repeated [<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">issues</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">AdvancedFilter</i><i class="proto-type-dot">.</i><i class="proto-type-part">Condition</i>](#bitdrift.public.unary.issues.v1.AdvancedFilter.Condition){ title="bitdrift.public.unary.issues.v1.AdvancedFilter.Condition"}</span> | The conditions that are ORed together. |

#### Example
```json
{
  "or_conditions": [
    {
      "lhs_typed": "LHS_TYPED_APP_ID",
      "operator": "EQUAL",
      "rhs": "com.example.app"
    }
  ]
}
```

