Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .apigentools-info
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
"spec_versions": {
"v1": {
"apigentools_version": "1.6.4",
"regenerated": "2023-03-27 19:48:20.211619",
"spec_repo_commit": "b6741167"
"regenerated": "2023-03-28 08:41:49.652997",
"spec_repo_commit": "21917b12"
},
"v2": {
"apigentools_version": "1.6.4",
"regenerated": "2023-03-27 19:48:20.224682",
"spec_repo_commit": "b6741167"
"regenerated": "2023-03-28 08:41:49.665061",
"spec_repo_commit": "21917b12"
}
}
}
15 changes: 15 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4724,6 +4724,8 @@ components:
$ref: '#/components/schemas/IncidentResponseIncludedItem'
readOnly: true
type: array
meta:
$ref: '#/components/schemas/IncidentSearchResponseMeta'
required:
- data
type: object
Expand Down Expand Up @@ -4840,6 +4842,13 @@ components:
required:
- data
type: object
IncidentSearchResponseMeta:
description: The metadata object containing pagination metadata.
properties:
pagination:
$ref: '#/components/schemas/IncidentResponseMetaPagination'
readOnly: true
type: object
IncidentSearchResponseNumericFacetData:
description: Facet data numeric attributes of an incident.
properties:
Expand Down Expand Up @@ -14664,6 +14673,8 @@ paths:
- $ref: '#/components/parameters/IncidentSearchIncludeQueryParameter'
- $ref: '#/components/parameters/IncidentSearchQueryQueryParameter'
- $ref: '#/components/parameters/IncidentSearchSortQueryParameter'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageOffset'
responses:
'200':
content:
Expand All @@ -14689,6 +14700,10 @@ paths:
summary: Search for incidents
tags:
- Incidents
x-pagination:
limitParam: page[size]
pageOffsetParam: page[offset]
resultsPath: data.attributes.incidents
x-unstable: '**Note**: This endpoint is in public beta.

If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).'
Expand Down
30 changes: 30 additions & 0 deletions examples/v2/incidents/SearchIncidents_1931679109.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// Search for incidents returns "OK" response with pagination

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.PaginationIterable;
import com.datadog.api.client.v2.api.IncidentsApi;
import com.datadog.api.client.v2.api.IncidentsApi.SearchIncidentsOptionalParameters;
import com.datadog.api.client.v2.model.IncidentSearchResponseIncidentsData;

public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setUnstableOperationEnabled("v2.searchIncidents", true);
IncidentsApi apiInstance = new IncidentsApi(defaultClient);

try {
PaginationIterable<IncidentSearchResponseIncidentsData> iterable =
apiInstance.searchIncidentsWithPagination(
"state:(active OR stable OR resolved)",
new SearchIncidentsOptionalParameters().pageSize(2L));

for (IncidentSearchResponseIncidentsData item : iterable) {
System.out.println(item);
}
} catch (RuntimeException e) {
System.err.println("Exception when calling IncidentsApi#searchIncidentsWithPagination");
System.err.println("Reason: " + e.getMessage());
e.printStackTrace();
}
}
}
100 changes: 100 additions & 0 deletions src/main/java/com/datadog/api/client/v2/api/IncidentsApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import com.datadog.api.client.v2.model.IncidentResponse;
import com.datadog.api.client.v2.model.IncidentResponseData;
import com.datadog.api.client.v2.model.IncidentSearchResponse;
import com.datadog.api.client.v2.model.IncidentSearchResponseIncidentsData;
import com.datadog.api.client.v2.model.IncidentSearchSortOrder;
import com.datadog.api.client.v2.model.IncidentTodoCreateRequest;
import com.datadog.api.client.v2.model.IncidentTodoListResponse;
Expand Down Expand Up @@ -2526,6 +2527,8 @@ public ApiResponse<IncidentTodoListResponse> listIncidentTodosWithHttpInfo(Strin
public static class SearchIncidentsOptionalParameters {
private IncidentRelatedObject include;
private IncidentSearchSortOrder sort;
private Long pageSize;
private Long pageOffset;

/**
* Set include.
Expand All @@ -2549,6 +2552,30 @@ public SearchIncidentsOptionalParameters sort(IncidentSearchSortOrder sort) {
this.sort = sort;
return this;
}

/**
* Set pageSize.
*
* @param pageSize Size for a given page. The maximum allowed value is 5000. (optional, default
* to 10)
* @return SearchIncidentsOptionalParameters
*/
public SearchIncidentsOptionalParameters pageSize(Long pageSize) {
this.pageSize = pageSize;
return this;
}

/**
* Set pageOffset.
*
* @param pageOffset Specific offset to use as the beginning of the returned page. (optional,
* default to 0)
* @return SearchIncidentsOptionalParameters
*/
public SearchIncidentsOptionalParameters pageOffset(Long pageOffset) {
this.pageOffset = pageOffset;
return this;
}
}

/**
Expand Down Expand Up @@ -2633,6 +2660,71 @@ public CompletableFuture<IncidentSearchResponse> searchIncidentsAsync(
});
}

/**
* Search for incidents.
*
* <p>See {@link #searchIncidentsWithHttpInfo}.
*
* @param query Specifies which incidents should be returned. After entering a search query in
* your <a href="https://app.datadoghq.com/incidents">Incidents page</a>, use the query
* parameter value in the URL of the page as the value for this parameter. The query can
* contain any number of incident facets joined by <code>ANDs</code>, along with multiple
* values for each of those facets joined by <code>OR</code>s, for instance: <code>
* query="state:active AND severity:(SEV-2 OR SEV-1)"</code>. (required)
* @return PaginationIterable&lt;IncidentSearchResponseIncidentsData&gt;
*/
public PaginationIterable<IncidentSearchResponseIncidentsData> searchIncidentsWithPagination(
String query) {
SearchIncidentsOptionalParameters parameters = new SearchIncidentsOptionalParameters();
return searchIncidentsWithPagination(query, parameters);
}

/**
* Search for incidents.
*
* <p>See {@link #searchIncidentsWithHttpInfo}.
*
* @param query Specifies which incidents should be returned. After entering a search query in
* your <a href="https://app.datadoghq.com/incidents">Incidents page</a>, use the query
* parameter value in the URL of the page as the value for this parameter. The query can
* contain any number of incident facets joined by <code>ANDs</code>, along with multiple
* values for each of those facets joined by <code>OR</code>s, for instance: <code>
* query="state:active AND severity:(SEV-2 OR SEV-1)"</code>. (required)
* @return IncidentSearchResponse
*/
public PaginationIterable<IncidentSearchResponseIncidentsData> searchIncidentsWithPagination(
String query, SearchIncidentsOptionalParameters parameters) {
String resultsPath = "getData.getAttributes.getIncidents";
String valueGetterPath = "";
String valueSetterPath = "pageOffset";
Boolean valueSetterParamOptional = true;
Long limit;

if (parameters.pageSize == null) {
limit = 10l;
parameters.pageSize(limit);
} else {
limit = parameters.pageSize;
}

LinkedHashMap<String, Object> args = new LinkedHashMap<String, Object>();
args.put("query", query);
args.put("optionalParams", parameters);

PaginationIterable iterator =
new PaginationIterable(
this,
"searchIncidents",
resultsPath,
valueGetterPath,
valueSetterPath,
valueSetterParamOptional,
limit,
args);

return iterator;
}

/**
* Search for incidents matching a certain query.
*
Expand Down Expand Up @@ -2675,6 +2767,8 @@ public ApiResponse<IncidentSearchResponse> searchIncidentsWithHttpInfo(
}
IncidentRelatedObject include = parameters.include;
IncidentSearchSortOrder sort = parameters.sort;
Long pageSize = parameters.pageSize;
Long pageOffset = parameters.pageOffset;
// create path and map variables
String localVarPath = "/api/v2/incidents/search";

Expand All @@ -2684,6 +2778,8 @@ public ApiResponse<IncidentSearchResponse> searchIncidentsWithHttpInfo(
localVarQueryParams.addAll(apiClient.parameterToPairs("", "query", query));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "include", include));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "sort", sort));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[size]", pageSize));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[offset]", pageOffset));

Invocation.Builder builder =
apiClient.createBuilder(
Expand Down Expand Up @@ -2743,6 +2839,8 @@ public CompletableFuture<ApiResponse<IncidentSearchResponse>> searchIncidentsWit
}
IncidentRelatedObject include = parameters.include;
IncidentSearchSortOrder sort = parameters.sort;
Long pageSize = parameters.pageSize;
Long pageOffset = parameters.pageOffset;
// create path and map variables
String localVarPath = "/api/v2/incidents/search";

Expand All @@ -2752,6 +2850,8 @@ public CompletableFuture<ApiResponse<IncidentSearchResponse>> searchIncidentsWit
localVarQueryParams.addAll(apiClient.parameterToPairs("", "query", query));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "include", include));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "sort", sort));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[size]", pageSize));
localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[offset]", pageOffset));

Invocation.Builder builder;
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
/** Response with incidents and facets. */
@JsonPropertyOrder({
IncidentSearchResponse.JSON_PROPERTY_DATA,
IncidentSearchResponse.JSON_PROPERTY_INCLUDED
IncidentSearchResponse.JSON_PROPERTY_INCLUDED,
IncidentSearchResponse.JSON_PROPERTY_META
})
@jakarta.annotation.Generated(
value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
Expand All @@ -29,6 +30,9 @@ public class IncidentSearchResponse {
public static final String JSON_PROPERTY_INCLUDED = "included";
private List<IncidentResponseIncludedItem> included = null;

public static final String JSON_PROPERTY_META = "meta";
private IncidentSearchResponseMeta meta;

public IncidentSearchResponse() {}

@JsonCreator
Expand Down Expand Up @@ -71,6 +75,18 @@ public List<IncidentResponseIncludedItem> getIncluded() {
return included;
}

/**
* The metadata object containing pagination metadata.
*
* @return meta
*/
@jakarta.annotation.Nullable
@JsonProperty(JSON_PROPERTY_META)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public IncidentSearchResponseMeta getMeta() {
return meta;
}

/** Return true if this IncidentSearchResponse object is equal to o. */
@Override
public boolean equals(Object o) {
Expand All @@ -82,12 +98,13 @@ public boolean equals(Object o) {
}
IncidentSearchResponse incidentSearchResponse = (IncidentSearchResponse) o;
return Objects.equals(this.data, incidentSearchResponse.data)
&& Objects.equals(this.included, incidentSearchResponse.included);
&& Objects.equals(this.included, incidentSearchResponse.included)
&& Objects.equals(this.meta, incidentSearchResponse.meta);
}

@Override
public int hashCode() {
return Objects.hash(data, included);
return Objects.hash(data, included, meta);
}

@Override
Expand All @@ -96,6 +113,7 @@ public String toString() {
sb.append("class IncidentSearchResponse {\n");
sb.append(" data: ").append(toIndentedString(data)).append("\n");
sb.append(" included: ").append(toIndentedString(included)).append("\n");
sb.append(" meta: ").append(toIndentedString(meta)).append("\n");
sb.append("}");
return sb.toString();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/*
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
* This product includes software developed at Datadog (https://www.datadoghq.com/).
* Copyright 2019-Present Datadog, Inc.
*/

package com.datadog.api.client.v2.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import java.util.Objects;

/** The metadata object containing pagination metadata. */
@JsonPropertyOrder({IncidentSearchResponseMeta.JSON_PROPERTY_PAGINATION})
@jakarta.annotation.Generated(
value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
public class IncidentSearchResponseMeta {
@JsonIgnore public boolean unparsed = false;
public static final String JSON_PROPERTY_PAGINATION = "pagination";
private IncidentResponseMetaPagination pagination;

public IncidentSearchResponseMeta pagination(IncidentResponseMetaPagination pagination) {
this.pagination = pagination;
this.unparsed |= pagination.unparsed;
return this;
}

/**
* Pagination properties.
*
* @return pagination
*/
@jakarta.annotation.Nullable
@JsonProperty(JSON_PROPERTY_PAGINATION)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public IncidentResponseMetaPagination getPagination() {
return pagination;
}

public void setPagination(IncidentResponseMetaPagination pagination) {
this.pagination = pagination;
}

/** Return true if this IncidentSearchResponseMeta object is equal to o. */
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
IncidentSearchResponseMeta incidentSearchResponseMeta = (IncidentSearchResponseMeta) o;
return Objects.equals(this.pagination, incidentSearchResponseMeta.pagination);
}

@Override
public int hashCode() {
return Objects.hash(pagination);
}

@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class IncidentSearchResponseMeta {\n");
sb.append(" pagination: ").append(toIndentedString(pagination)).append("\n");
sb.append("}");
return sb.toString();
}

/**
* Convert the given object to string with each line indented by 4 spaces (except the first line).
*/
private String toIndentedString(Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2023-03-28T07:55:36.503Z
Loading