From a0871556c33c8e01c2ab94248536f0508e9d740f Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Tue, 23 Jul 2024 15:34:14 +0000 Subject: [PATCH] Regenerate client from commit 015355f6 of spec repo --- .apigentools-info | 8 +-- .generator/schemas/v1/openapi.yaml | 2 + ...with-incident-analytics-data-source.frozen | 1 + ...et-with-incident-analytics-data-source.yml | 48 +++++++++++++++ .../dashboards/CreateDashboard_985012506.rb | 61 +++++++++++++++++++ features/v1/dashboards.feature | 9 +++ ...formula_and_function_events_data_source.rb | 1 + 7 files changed, 126 insertions(+), 4 deletions(-) create mode 100644 cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.frozen create mode 100644 cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.yml create mode 100644 examples/v1/dashboards/CreateDashboard_985012506.rb diff --git a/.apigentools-info b/.apigentools-info index 15153995424d..6ba7458df8ea 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.6", - "regenerated": "2024-07-22 20:03:25.582227", - "spec_repo_commit": "cd020fa6" + "regenerated": "2024-07-23 15:33:49.227905", + "spec_repo_commit": "015355f6" }, "v2": { "apigentools_version": "1.6.6", - "regenerated": "2024-07-22 20:03:25.600268", - "spec_repo_commit": "cd020fa6" + "regenerated": "2024-07-23 15:33:49.249113", + "spec_repo_commit": "015355f6" } } } \ No newline at end of file diff --git a/.generator/schemas/v1/openapi.yaml b/.generator/schemas/v1/openapi.yaml index 7749ad8b460b..cef095c02fee 100644 --- a/.generator/schemas/v1/openapi.yaml +++ b/.generator/schemas/v1/openapi.yaml @@ -2867,6 +2867,7 @@ components: - events - ci_tests - ci_pipelines + - incident_analytics example: logs type: string x-enum-varnames: @@ -2880,6 +2881,7 @@ components: - EVENTS - CI_TESTS - CI_PIPELINES + - INCIDENT_ANALYTICS FormulaAndFunctionMetricAggregation: description: The aggregation methods available for metrics queries. enum: diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.frozen b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.frozen new file mode 100644 index 000000000000..4db9b8d383e2 --- /dev/null +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.frozen @@ -0,0 +1 @@ +2024-07-23T14:59:59.215Z \ No newline at end of file diff --git a/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.yml b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.yml new file mode 100644 index 000000000000..12b71c295442 --- /dev/null +++ b/cassettes/features/v1/dashboards/Create-a-new-timeseries-widget-with-incident-analytics-data-source.yml @@ -0,0 +1,48 @@ +http_interactions: +- recorded_at: Tue, 23 Jul 2024 14:59:59 GMT + request: + body: + encoding: UTF-8 + string: '{"layout_type":"ordered","reflow_type":"auto","title":"Test-Create_a_new_timeseries_widget_with_incident_analytics_data_source-1721746799 + with incident_analytics datasource","widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"incident_analytics","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"}}]}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v1/dashboard + response: + body: + encoding: UTF-8 + string: '{"id":"r29-a2b-nhh","title":"Test-Create_a_new_timeseries_widget_with_incident_analytics_data_source-1721746799 + with incident_analytics datasource","description":null,"author_handle":"frog@datadoghq.com","author_name":null,"layout_type":"ordered","url":"/dashboard/r29-a2b-nhh/test-createanewtimeserieswidgetwithincidentanalyticsdatasource-1721746799-with-i","is_read_only":false,"template_variables":null,"widgets":[{"definition":{"legend_columns":["avg","min","max","value","sum"],"legend_layout":"auto","requests":[{"display_type":"line","formulas":[{"formula":"query1"}],"queries":[{"compute":{"aggregation":"count"},"data_source":"incident_analytics","group_by":[],"indexes":["*"],"name":"query1","search":{"query":"test_level:test"}}],"response_format":"timeseries","style":{"line_type":"solid","line_width":"normal","palette":"dog_classic"}}],"show_legend":true,"time":{},"title":"","type":"timeseries"},"id":4216078110414841}],"notify_list":null,"created_at":"2024-07-23T14:59:59.491800+00:00","modified_at":"2024-07-23T14:59:59.491800+00:00","reflow_type":"auto","restricted_roles":[]} + + ' + headers: + Content-Type: + - application/json + status: + code: 200 + message: OK +- recorded_at: Tue, 23 Jul 2024 14:59:59 GMT + request: + body: null + headers: + Accept: + - application/json + method: DELETE + uri: https://api.datadoghq.com/api/v1/dashboard/r29-a2b-nhh + response: + body: + encoding: UTF-8 + string: '{"deleted_dashboard_id":"r29-a2b-nhh"} + + ' + headers: + Content-Type: + - application/json + status: + code: 200 + message: OK +recorded_with: VCR 6.0.0 diff --git a/examples/v1/dashboards/CreateDashboard_985012506.rb b/examples/v1/dashboards/CreateDashboard_985012506.rb new file mode 100644 index 000000000000..833aad847c91 --- /dev/null +++ b/examples/v1/dashboards/CreateDashboard_985012506.rb @@ -0,0 +1,61 @@ +# Create a new timeseries widget with incident_analytics data source + +require "datadog_api_client" +api_instance = DatadogAPIClient::V1::DashboardsAPI.new + +body = DatadogAPIClient::V1::Dashboard.new({ + title: "Example-Dashboard with incident_analytics datasource", + widgets: [ + DatadogAPIClient::V1::Widget.new({ + definition: DatadogAPIClient::V1::TimeseriesWidgetDefinition.new({ + title: "", + show_legend: true, + legend_layout: DatadogAPIClient::V1::TimeseriesWidgetLegendLayout::AUTO, + legend_columns: [ + DatadogAPIClient::V1::TimeseriesWidgetLegendColumn::AVG, + DatadogAPIClient::V1::TimeseriesWidgetLegendColumn::MIN, + DatadogAPIClient::V1::TimeseriesWidgetLegendColumn::MAX, + DatadogAPIClient::V1::TimeseriesWidgetLegendColumn::VALUE, + DatadogAPIClient::V1::TimeseriesWidgetLegendColumn::SUM, + ], + time: DatadogAPIClient::V1::WidgetTime.new({}), + type: DatadogAPIClient::V1::TimeseriesWidgetDefinitionType::TIMESERIES, + requests: [ + DatadogAPIClient::V1::TimeseriesWidgetRequest.new({ + formulas: [ + DatadogAPIClient::V1::WidgetFormula.new({ + formula: "query1", + }), + ], + queries: [ + DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinition.new({ + data_source: DatadogAPIClient::V1::FormulaAndFunctionEventsDataSource::INCIDENT_ANALYTICS, + name: "query1", + search: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionSearch.new({ + query: "test_level:test", + }), + indexes: [ + "*", + ], + compute: DatadogAPIClient::V1::FormulaAndFunctionEventQueryDefinitionCompute.new({ + aggregation: DatadogAPIClient::V1::FormulaAndFunctionEventAggregation::COUNT, + }), + group_by: [], + }), + ], + response_format: DatadogAPIClient::V1::FormulaAndFunctionResponseFormat::TIMESERIES, + style: DatadogAPIClient::V1::WidgetRequestStyle.new({ + palette: "dog_classic", + line_type: DatadogAPIClient::V1::WidgetLineType::SOLID, + line_width: DatadogAPIClient::V1::WidgetLineWidth::NORMAL, + }), + display_type: DatadogAPIClient::V1::WidgetDisplayType::LINE, + }), + ], + }), + }), + ], + layout_type: DatadogAPIClient::V1::DashboardLayoutType::ORDERED, + reflow_type: DatadogAPIClient::V1::DashboardReflowType::AUTO, +}) +p api_instance.create_dashboard(body) diff --git a/features/v1/dashboards.feature b/features/v1/dashboards.feature index 1f42aa8f0723..b892e9da84df 100644 --- a/features/v1/dashboards.feature +++ b/features/v1/dashboards.feature @@ -830,6 +830,15 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].queries[0].data_source" is equal to "ci_tests" And the response "widgets[0].definition.requests[0].queries[0].search.query" is equal to "test_level:test" + @team:DataDog/dashboards-backend + Scenario: Create a new timeseries widget with incident_analytics data source + Given new "CreateDashboard" request + And body with value {"title":"{{ unique }} with incident_analytics datasource","widgets":[{"definition":{"title":"","show_legend":true,"legend_layout":"auto","legend_columns":["avg","min","max","value","sum"],"time":{},"type":"timeseries","requests":[{"formulas":[{"formula":"query1"}],"queries":[{"data_source":"incident_analytics","name":"query1","search":{"query":"test_level:test"},"indexes":["*"],"compute":{"aggregation":"count"},"group_by":[]}],"response_format":"timeseries","style":{"palette":"dog_classic","line_type":"solid","line_width":"normal"},"display_type":"line"}]}}],"layout_type":"ordered","reflow_type":"auto"} + When the request is sent + Then the response status is 200 OK + And the response "widgets[0].definition.requests[0].queries[0].data_source" is equal to "incident_analytics" + And the response "widgets[0].definition.requests[0].queries[0].search.query" is equal to "test_level:test" + @generated @skip @team:DataDog/dashboards-backend Scenario: Create a shared dashboard returns "Bad Request" response Given new "CreatePublicDashboard" request diff --git a/lib/datadog_api_client/v1/models/formula_and_function_events_data_source.rb b/lib/datadog_api_client/v1/models/formula_and_function_events_data_source.rb index c58253c3e951..a41c6958ae81 100644 --- a/lib/datadog_api_client/v1/models/formula_and_function_events_data_source.rb +++ b/lib/datadog_api_client/v1/models/formula_and_function_events_data_source.rb @@ -31,5 +31,6 @@ class FormulaAndFunctionEventsDataSource EVENTS = "events".freeze CI_TESTS = "ci_tests".freeze CI_PIPELINES = "ci_pipelines".freeze + INCIDENT_ANALYTICS = "incident_analytics".freeze end end