search method

Future<SearchCasesResponse> search(
  1. String parent, {
  2. int? pageSize,
  3. String? pageToken,
  4. String? query,
  5. String? $fields,
})

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 `=`: -
`organization`: An organization name in the form `organizations/`. -
`project`: A project name in the form `projects/`. - `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. You must specify either `organization` or
`project`. 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 (`>`). Examples: -
`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="[email protected]"`
- `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>>{
    if (pageSize != null) 'pageSize': ['${pageSize}'],
    if (pageToken != null) 'pageToken': [pageToken],
    if (query != null) 'query': [query],
    if ($fields != null) 'fields': [$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>);
}