diff --git a/.apigentools-info b/.apigentools-info index de5e8cc53dd..ff29321183f 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.5", - "regenerated": "2023-08-23 18:27:40.143570", - "spec_repo_commit": "d78a6960" + "regenerated": "2023-08-23 20:02:05.705723", + "spec_repo_commit": "7e4a4121" }, "v2": { "apigentools_version": "1.6.5", - "regenerated": "2023-08-23 18:27:40.161703", - "spec_repo_commit": "d78a6960" + "regenerated": "2023-08-23 20:02:05.718719", + "spec_repo_commit": "7e4a4121" } } } \ No newline at end of file diff --git a/.generator/schemas/v1/openapi.yaml b/.generator/schemas/v1/openapi.yaml index 9c55bf117a7..ec93ec4e73e 100644 --- a/.generator/schemas/v1/openapi.yaml +++ b/.generator/schemas/v1/openapi.yaml @@ -4414,6 +4414,7 @@ components: - ci_test_stream - rum_issue_stream - apm_issue_stream + - trace_stream - logs_issue_stream - logs_pattern_stream - logs_transaction_stream @@ -4427,6 +4428,7 @@ components: - CI_TEST_STREAM - RUM_ISSUE_STREAM - APM_ISSUE_STREAM + - TRACE_STREAM - LOGS_ISSUE_STREAM - LOGS_PATTERN_STREAM - LOGS_TRANSACTION_STREAM diff --git a/examples/v1/dashboards/CreateDashboard_2618036642.java b/examples/v1/dashboards/CreateDashboard_2618036642.java new file mode 100644 index 00000000000..bcf32b885d6 --- /dev/null +++ b/examples/v1/dashboards/CreateDashboard_2618036642.java @@ -0,0 +1,66 @@ +// Create a new dashboard with trace_stream widget + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v1.api.DashboardsApi; +import com.datadog.api.client.v1.model.Dashboard; +import com.datadog.api.client.v1.model.DashboardLayoutType; +import com.datadog.api.client.v1.model.ListStreamColumn; +import com.datadog.api.client.v1.model.ListStreamColumnWidth; +import com.datadog.api.client.v1.model.ListStreamQuery; +import com.datadog.api.client.v1.model.ListStreamResponseFormat; +import com.datadog.api.client.v1.model.ListStreamSource; +import com.datadog.api.client.v1.model.ListStreamWidgetDefinition; +import com.datadog.api.client.v1.model.ListStreamWidgetDefinitionType; +import com.datadog.api.client.v1.model.ListStreamWidgetRequest; +import com.datadog.api.client.v1.model.Widget; +import com.datadog.api.client.v1.model.WidgetDefinition; +import java.util.Arrays; +import java.util.Collections; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + DashboardsApi apiInstance = new DashboardsApi(defaultClient); + + Dashboard body = + new Dashboard() + .layoutType(DashboardLayoutType.ORDERED) + .title("Example-Dashboard with list_stream widget") + .widgets( + Collections.singletonList( + new Widget() + .definition( + new WidgetDefinition( + new ListStreamWidgetDefinition() + .type(ListStreamWidgetDefinitionType.LIST_STREAM) + .requests( + Collections.singletonList( + new ListStreamWidgetRequest() + .columns( + Arrays.asList( + new ListStreamColumn() + .width(ListStreamColumnWidth.AUTO) + .field("timestamp"), + new ListStreamColumn() + .width(ListStreamColumnWidth.AUTO) + .field("service"))) + .query( + new ListStreamQuery() + .dataSource(ListStreamSource.TRACE_STREAM) + .queryString("")) + .responseFormat( + ListStreamResponseFormat.EVENT_LIST))))))); + + try { + Dashboard result = apiInstance.createDashboard(body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling DashboardsApi#createDashboard"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/datadog/api/client/v1/model/ListStreamSource.java b/src/main/java/com/datadog/api/client/v1/model/ListStreamSource.java index 9f0b613d4fe..4c3c9570e1d 100644 --- a/src/main/java/com/datadog/api/client/v1/model/ListStreamSource.java +++ b/src/main/java/com/datadog/api/client/v1/model/ListStreamSource.java @@ -31,6 +31,7 @@ public class ListStreamSource extends ModelEnum { "ci_test_stream", "rum_issue_stream", "apm_issue_stream", + "trace_stream", "logs_issue_stream", "logs_pattern_stream", "logs_transaction_stream", @@ -43,6 +44,7 @@ public class ListStreamSource extends ModelEnum { public static final ListStreamSource CI_TEST_STREAM = new ListStreamSource("ci_test_stream"); public static final ListStreamSource RUM_ISSUE_STREAM = new ListStreamSource("rum_issue_stream"); public static final ListStreamSource APM_ISSUE_STREAM = new ListStreamSource("apm_issue_stream"); + public static final ListStreamSource TRACE_STREAM = new ListStreamSource("trace_stream"); public static final ListStreamSource LOGS_ISSUE_STREAM = new ListStreamSource("logs_issue_stream"); public static final ListStreamSource LOGS_PATTERN_STREAM = diff --git a/src/test/resources/cassettes/features/v1/Create_a_new_dashboard_with_trace_stream_widget.freeze b/src/test/resources/cassettes/features/v1/Create_a_new_dashboard_with_trace_stream_widget.freeze new file mode 100644 index 00000000000..59f5fa0f114 --- /dev/null +++ b/src/test/resources/cassettes/features/v1/Create_a_new_dashboard_with_trace_stream_widget.freeze @@ -0,0 +1 @@ +2022-04-11T09:33:06.223Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v1/Create_a_new_dashboard_with_trace_stream_widget.json b/src/test/resources/cassettes/features/v1/Create_a_new_dashboard_with_trace_stream_widget.json new file mode 100644 index 00000000000..2ef8bea89c4 --- /dev/null +++ b/src/test/resources/cassettes/features/v1/Create_a_new_dashboard_with_trace_stream_widget.json @@ -0,0 +1,58 @@ +[ + { + "httpRequest": { + "body": { + "type": "JSON", + "json": "{\"layout_type\":\"ordered\",\"title\":\"Test-Create_a_new_dashboard_with_trace_stream_widget-1649669586 with list_stream widget\",\"widgets\":[{\"definition\":{\"requests\":[{\"columns\":[{\"field\":\"timestamp\",\"width\":\"auto\"},{\"field\":\"service\",\"width\":\"auto\"}],\"query\":{\"data_source\":\"trace_stream\",\"query_string\":\"\"},\"response_format\":\"event_list\"}],\"type\":\"list_stream\"}}]}" + }, + "headers": {}, + "method": "POST", + "path": "/api/v1/dashboard", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"notify_list\":null,\"description\":null,\"restricted_roles\":[],\"author_name\":null,\"template_variables\":null,\"is_read_only\":false,\"id\":\"hq5-hih-hbv\",\"title\":\"Test-Create_a_new_dashboard_with_trace_stream_widget-1649669586 with list_stream widget\",\"url\":\"/dashboard/hq5-hih-hbv/test-createanewdashboardwithtracestreamwidget-1649669586-with-liststream-widget\",\"created_at\":\"2022-04-11T09:33:06.331374+00:00\",\"modified_at\":\"2022-04-11T09:33:06.331374+00:00\",\"author_handle\":\"frog@datadoghq.com\",\"widgets\":[{\"definition\":{\"requests\":[{\"query\":{\"query_string\":\"\",\"data_source\":\"trace_stream\"},\"response_format\":\"event_list\",\"columns\":[{\"field\":\"timestamp\",\"width\":\"auto\"},{\"field\":\"service\",\"width\":\"auto\"}]}],\"type\":\"list_stream\"},\"id\":6190567117163115}],\"layout_type\":\"ordered\"}", + "headers": { + "Content-Type": [ + "application/json" + ] + }, + "statusCode": 200, + "reasonPhrase": "OK" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "9f2c1d36-ab2a-75b2-9654-c3c774f4394a" + }, + { + "httpRequest": { + "headers": {}, + "method": "DELETE", + "path": "/api/v1/dashboard/hq5-hih-hbv", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"deleted_dashboard_id\":\"hq5-hih-hbv\"}", + "headers": { + "Content-Type": [ + "application/json" + ] + }, + "statusCode": 200, + "reasonPhrase": "OK" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "ba5e3fb6-f561-a9be-211c-115290abdfc4" + } +] \ No newline at end of file diff --git a/src/test/resources/com/datadog/api/client/v1/api/dashboards.feature b/src/test/resources/com/datadog/api/client/v1/api/dashboards.feature index a7ccd5e677d..49aaa718d6c 100644 --- a/src/test/resources/com/datadog/api/client/v1/api/dashboards.feature +++ b/src/test/resources/com/datadog/api/client/v1/api/dashboards.feature @@ -731,6 +731,15 @@ Feature: Dashboards And the response "widgets[0].definition.type" is equal to "trace_service" And the response "widgets[0].definition.env" is equal to "none" + @team:DataDog/dashboards-backend + Scenario: Create a new dashboard with trace_stream widget + Given new "CreateDashboard" request + And body with value {"layout_type": "ordered", "title": "{{ unique }} with list_stream widget","widgets": [{"definition": {"type": "list_stream","requests": [{"columns":[{"width":"auto","field":"timestamp"},{"width":"auto","field":"service"}],"query":{"data_source":"trace_stream","query_string":""},"response_format":"event_list"}]}}]} + When the request is sent + Then the response status is 200 OK + And the response "widgets[0].definition.type" is equal to "list_stream" + And the response "widgets[0].definition.requests[0].query.data_source" is equal to "trace_stream" + @team:DataDog/dashboards-backend Scenario: Create a new timeseries widget with ci_pipelines data source Given new "CreateDashboard" request