search method
Search for cases using a query.
EXAMPLES: cURL: shell parent="projects/some-project" curl \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://cloudsupport.googleapis.com/v2/$parent/cases:search" Python:
supportApiService = googleapiclient.discovery.build(
serviceName="cloudsupport", version=api_version,
discoveryServiceUrl=f"https://cloudsupport.googleapis.com/$discovery/rest?version={api_version}",
) request = supportApiService.cases().search(
parent="projects/some-project", query="state=OPEN" )
print(request.execute()) ```
Request parameters:
[parent] - The name of the parent resource to search for cases under.
Value must have pattern `^\[^/\]+/\[^/\]+$`.
[pageSize] - The maximum number of cases fetched with each request. The
default page size is 10.
[pageToken] - A token identifying the page of results to return. If
unspecified, the first page is retrieved.
[query] - An expression used to filter cases. Expressions use the
following fields separated by `AND` and specified with `=`: - `state`: Can
be `OPEN` or `CLOSED`. - `priority`: Can be `P0`, `P1`, `P2`, `P3`, or
`P4`. You can specify multiple values for priority using the `OR`
operator. For example, `priority=P1 OR priority=P2`. - `creator.email`:
The email address of the case creator. To search across `displayName`,
`description`, and comments, use a global restriction with no keyword or
operator. For example, `"my search"`. To search only cases updated after a
certain date, use `update_time` restricted with that particular date,
time, and timezone in ISO datetime format. For example,
`update_time>"2020-01-01T00:00:00-05:00"`. `update_time` only supports the
greater than operator (`>`). If you are using the `v2` version of the API,
you must specify the case parent in the `parent` field. If you provide an
empty `query`, all cases under the parent resource will be returned. If
you are using the `v2beta` version of the API, you must specify the case
parent in the `query` field using one of the two fields below, which are
only available for `v2beta`. The `parent` field will be ignored. -
`organization`: An organization name in the form `organizations/`. -
`project`: A project name in the form `projects/`. Examples: For `v2`: -
`state=CLOSED` - `state=OPEN AND creator.email="tester@example.com"` -
`state=OPEN AND (priority=P0 OR priority=P1)` -
`update_time>"2020-01-01T00:00:00-05:00"` For `v2beta`: -
`organization="organizations/123456789"` -
`project="projects/my-project-id"` - `project="projects/123456789"` -
`organization="organizations/123456789" AND state=CLOSED` -
`project="projects/my-project-id" AND creator.email="tester@example.com"`
- `project="projects/my-project-id" AND (priority=P0 OR priority=P1)`
[$fields] - Selector specifying which fields to include in a partial
response.
Completes with a [SearchCasesResponse].
Completes with a [commons.ApiRequestError] if the API endpoint returned an
error.
If the used [http.Client] completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<SearchCasesResponse> search(
core.String parent, {
core.int? pageSize,
core.String? pageToken,
core.String? query,
core.String? $fields,
}) async {
final queryParams_ = <core.String, core.List<core.String>>{
'pageSize': ?pageSize == null ? null : ['${pageSize}'],
'pageToken': ?pageToken == null ? null : [pageToken],
'query': ?query == null ? null : [query],
'fields': ?$fields == null ? null : [$fields],
};
final url_ = 'v2/' + core.Uri.encodeFull('$parent') + '/cases:search';
final response_ = await _requester.request(
url_,
'GET',
queryParams: queryParams_,
);
return SearchCasesResponse.fromJson(
response_ as core.Map<core.String, core.dynamic>,
);
}