Skip to content

Commit e7a114d

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
and
ci.datadog-api-spec
authored
Add custom_links to distribution widget schema (#1263)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 6581b8e commit e7a114d

File tree

7 files changed

+45
-24
lines changed

7 files changed

+45
-24
lines changed

.apigentools-info

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"spec_versions": {
55
"v1": {
66
"apigentools_version": "1.6.5",
7-
"regenerated": "2023-08-01 14:52:18.981128",
8-
"spec_repo_commit": "279094e1"
7+
"regenerated": "2023-08-01 16:18:45.943422",
8+
"spec_repo_commit": "87a5a9d8"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.5",
12-
"regenerated": "2023-08-01 14:52:19.002286",
13-
"spec_repo_commit": "279094e1"
12+
"regenerated": "2023-08-01 16:18:45.962045",
13+
"spec_repo_commit": "87a5a9d8"
1414
}
1515
}
1616
}

.generator/schemas/v1/openapi.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,6 +1496,11 @@ components:
14961496
across one or several tags, such as hosts.\nUnlike the heat map, a distribution
14971497
graph\u2019s x-axis is quantity rather than time."
14981498
properties:
1499+
custom_links:
1500+
description: A list of custom links.
1501+
items:
1502+
$ref: '#/components/schemas/WidgetCustomLink'
1503+
type: array
14991504
legend_size:
15001505
deprecated: true
15011506
description: (Deprecated) The widget legend was replaced by a tooltip and
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
"2022-06-03T14:40:32.372Z"
1+
"2023-08-01T15:16:44.506Z"

cassettes/v1/Dashboards_1335235736/Create-a-distribution-widget-using-a-histogram-request-containing-a-formulas-and-function_3661940883/recording.har

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
},
99
"entries": [
1010
{
11-
"_id": "740963bc6d6e0f0cd12c4ac2cf50f5e5",
11+
"_id": "f7984f12f97fda28ade36ae75d3e477a",
1212
"_order": 0,
1313
"cache": {},
1414
"request": {
15-
"bodySize": 634,
15+
"bodySize": 701,
1616
"cookies": [],
1717
"headers": [
1818
{
@@ -32,17 +32,17 @@
3232
"postData": {
3333
"mimeType": "application/json",
3434
"params": [],
35-
"text": "{\"layout_type\":\"ordered\",\"title\":\"Test-Create_a_distribution_widget_using_a_histogram_request_containing_a_formulas_and_functions_metrics_q-1654267232\",\"widgets\":[{\"definition\":{\"requests\":[{\"query\":{\"data_source\":\"metrics\",\"name\":\"query1\",\"query\":\"histogram:trace.Load{*}\"},\"request_type\":\"histogram\",\"style\":{\"palette\":\"dog_classic\"}}],\"show_legend\":false,\"title\":\"Metrics HOP\",\"title_align\":\"left\",\"title_size\":\"16\",\"type\":\"distribution\",\"xaxis\":{\"include_zero\":true,\"max\":\"auto\",\"min\":\"auto\",\"scale\":\"linear\"},\"yaxis\":{\"include_zero\":true,\"max\":\"auto\",\"min\":\"auto\",\"scale\":\"linear\"}},\"layout\":{\"height\":2,\"width\":4,\"x\":0,\"y\":0}}]}"
35+
"text": "{\"layout_type\":\"ordered\",\"title\":\"Test-Create_a_distribution_widget_using_a_histogram_request_containing_a_formulas_and_functions_metrics_q-1690903004\",\"widgets\":[{\"definition\":{\"custom_links\":[{\"label\":\"Example\",\"link\":\"https://example.org/\"}],\"requests\":[{\"query\":{\"data_source\":\"metrics\",\"name\":\"query1\",\"query\":\"histogram:trace.Load{*}\"},\"request_type\":\"histogram\",\"style\":{\"palette\":\"dog_classic\"}}],\"show_legend\":false,\"title\":\"Metrics HOP\",\"title_align\":\"left\",\"title_size\":\"16\",\"type\":\"distribution\",\"xaxis\":{\"include_zero\":true,\"max\":\"auto\",\"min\":\"auto\",\"scale\":\"linear\"},\"yaxis\":{\"include_zero\":true,\"max\":\"auto\",\"min\":\"auto\",\"scale\":\"linear\"}},\"layout\":{\"height\":2,\"width\":4,\"x\":0,\"y\":0}}]}"
3636
},
3737
"queryString": [],
3838
"url": "https://api.datadoghq.com/api/v1/dashboard"
3939
},
4040
"response": {
41-
"bodySize": 1047,
41+
"bodySize": 1115,
4242
"content": {
4343
"mimeType": "application/json",
44-
"size": 1047,
45-
"text": "{\"notify_list\":null,\"description\":null,\"restricted_roles\":[],\"author_name\":null,\"template_variables\":null,\"is_read_only\":false,\"id\":\"gb2-e78-emw\",\"title\":\"Test-Create_a_distribution_widget_using_a_histogram_request_containing_a_formulas_and_functions_metrics_q-1654267232\",\"url\":\"/dashboard/gb2-e78-emw/test-createadistributionwidgetusingahistogramrequestcontainingaformulasandfuncti\",\"created_at\":\"2022-06-03T14:40:32.735409+00:00\",\"modified_at\":\"2022-06-03T14:40:32.735409+00:00\",\"author_handle\":\"frog@datadoghq.com\",\"widgets\":[{\"definition\":{\"title_size\":\"16\",\"title\":\"Metrics HOP\",\"title_align\":\"left\",\"yaxis\":{\"include_zero\":true,\"scale\":\"linear\",\"min\":\"auto\",\"max\":\"auto\"},\"show_legend\":false,\"xaxis\":{\"include_zero\":true,\"scale\":\"linear\",\"min\":\"auto\",\"max\":\"auto\"},\"requests\":[{\"query\":{\"query\":\"histogram:trace.Load{*}\",\"data_source\":\"metrics\",\"name\":\"query1\"},\"request_type\":\"histogram\",\"style\":{\"palette\":\"dog_classic\"}}],\"type\":\"distribution\"},\"layout\":{\"y\":0,\"width\":4,\"x\":0,\"height\":2},\"id\":3096166427221540}],\"layout_type\":\"ordered\"}"
44+
"size": 1115,
45+
"text": "{\"id\":\"uts-6em-2su\",\"title\":\"Test-Create_a_distribution_widget_using_a_histogram_request_containing_a_formulas_and_functions_metrics_q-1690903004\",\"description\":null,\"author_handle\":\"frog@datadoghq.com\",\"author_name\":null,\"layout_type\":\"ordered\",\"url\":\"/dashboard/uts-6em-2su/test-createadistributionwidgetusingahistogramrequestcontainingaformulasandfuncti\",\"is_read_only\":false,\"template_variables\":null,\"widgets\":[{\"definition\":{\"custom_links\":[{\"label\":\"Example\",\"link\":\"https://example.org/\"}],\"requests\":[{\"query\":{\"data_source\":\"metrics\",\"name\":\"query1\",\"query\":\"histogram:trace.Load{*}\"},\"request_type\":\"histogram\",\"style\":{\"palette\":\"dog_classic\"}}],\"show_legend\":false,\"title\":\"Metrics HOP\",\"title_align\":\"left\",\"title_size\":\"16\",\"type\":\"distribution\",\"xaxis\":{\"include_zero\":true,\"max\":\"auto\",\"min\":\"auto\",\"scale\":\"linear\"},\"yaxis\":{\"include_zero\":true,\"max\":\"auto\",\"min\":\"auto\",\"scale\":\"linear\"}},\"layout\":{\"height\":2,\"width\":4,\"x\":0,\"y\":0},\"id\":4570406064684725}],\"notify_list\":null,\"created_at\":\"2023-08-01T15:16:44.785380+00:00\",\"modified_at\":\"2023-08-01T15:16:44.785380+00:00\",\"restricted_roles\":[]}\n"
4646
},
4747
"cookies": [],
4848
"headers": [
@@ -51,17 +51,17 @@
5151
"value": "application/json"
5252
}
5353
],
54-
"headersSize": 637,
54+
"headersSize": 518,
5555
"httpVersion": "HTTP/1.1",
5656
"redirectURL": "",
5757
"status": 200,
5858
"statusText": "OK"
5959
},
60-
"startedDateTime": "2022-06-03T14:40:32.376Z",
61-
"time": 438
60+
"startedDateTime": "2023-08-01T15:16:44.517Z",
61+
"time": 298
6262
},
6363
{
64-
"_id": "54dd620c2ec389a1992bbd279b6a6b9c",
64+
"_id": "7638967a65387095de2bf2971833f07b",
6565
"_order": 0,
6666
"cache": {},
6767
"request": {
@@ -74,18 +74,18 @@
7474
"value": "application/json"
7575
}
7676
],
77-
"headersSize": 518,
77+
"headersSize": 520,
7878
"httpVersion": "HTTP/1.1",
7979
"method": "DELETE",
8080
"queryString": [],
81-
"url": "https://api.datadoghq.com/api/v1/dashboard/gb2-e78-emw"
81+
"url": "https://api.datadoghq.com/api/v1/dashboard/uts-6em-2su"
8282
},
8383
"response": {
84-
"bodySize": 38,
84+
"bodySize": 39,
8585
"content": {
8686
"mimeType": "application/json",
87-
"size": 38,
88-
"text": "{\"deleted_dashboard_id\":\"gb2-e78-emw\"}"
87+
"size": 39,
88+
"text": "{\"deleted_dashboard_id\":\"uts-6em-2su\"}\n"
8989
},
9090
"cookies": [],
9191
"headers": [
@@ -94,14 +94,14 @@
9494
"value": "application/json"
9595
}
9696
],
97-
"headersSize": 635,
97+
"headersSize": 516,
9898
"httpVersion": "HTTP/1.1",
9999
"redirectURL": "",
100100
"status": 200,
101101
"statusText": "OK"
102102
},
103-
"startedDateTime": "2022-06-03T14:40:32.820Z",
104-
"time": 444
103+
"startedDateTime": "2023-08-01T15:16:44.839Z",
104+
"time": 174
105105
}
106106
],
107107
"pages": [],

examples/v1/dashboards/CreateDashboard_252716965.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ const params: v1.DashboardsApiCreateDashboardRequest = {
1818
titleAlign: "left",
1919
showLegend: false,
2020
type: "distribution",
21+
customLinks: [
22+
{
23+
label: "Example",
24+
link: "https://example.org/",
25+
},
26+
],
2127
xaxis: {
2228
max: "auto",
2329
includeZero: true,

features/v1/dashboards.feature

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,15 @@ Feature: Dashboards
4545
@team:DataDog/dashboards-backend
4646
Scenario: Create a distribution widget using a histogram request containing a formulas and functions metrics query
4747
Given new "CreateDashboard" request
48-
And body with value { "title": "{{ unique }}", "widgets": [ { "definition": { "title": "Metrics HOP", "title_size": "16", "title_align": "left", "show_legend": false, "type": "distribution", "xaxis": { "max": "auto", "include_zero": true, "scale": "linear", "min": "auto" }, "yaxis": { "max": "auto", "include_zero": true, "scale": "linear", "min": "auto" }, "requests": [ { "query": { "query": "histogram:trace.Load{*}", "data_source": "metrics", "name": "query1" }, "request_type": "histogram", "style": { "palette": "dog_classic" } } ] }, "layout": { "x": 0, "y": 0, "width": 4, "height": 2 } } ], "layout_type": "ordered" }
48+
And body with value {"title":"{{ unique }}","widgets":[{"definition":{"title":"Metrics HOP","title_size":"16","title_align":"left","show_legend":false,"type":"distribution","custom_links":[{"label":"Example","link":"https://example.org/"}],"xaxis":{"max":"auto","include_zero":true,"scale":"linear","min":"auto"},"yaxis":{"max":"auto","include_zero":true,"scale":"linear","min":"auto"},"requests":[{"query":{"query":"histogram:trace.Load{*}","data_source":"metrics","name":"query1"},"request_type":"histogram","style":{"palette":"dog_classic"}}]},"layout":{"x":0,"y":0,"width":4,"height":2}}],"layout_type":"ordered"}
4949
When the request is sent
5050
Then the response status is 200 OK
5151
And the response "widgets[0].definition.requests[0].request_type" is equal to "histogram"
5252
And the response "widgets[0].definition.requests[0].style" is equal to { "palette": "dog_classic" }
5353
And the response "widgets[0].definition.requests[0].query.query" is equal to "histogram:trace.Load{*}"
5454
And the response "widgets[0].definition.requests[0].query.data_source" is equal to "metrics"
5555
And the response "widgets[0].definition.requests[0].query.name" is equal to "query1"
56+
And the response "widgets[0].definition.custom_links" has item with field "label" with value "Example"
5657

5758
@team:DataDog/dashboards-backend
5859
Scenario: Create a geomap widget using an event_list request

packages/datadog-api-client-v1/models/DistributionWidgetDefinition.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { DistributionWidgetDefinitionType } from "./DistributionWidgetDefinition
77
import { DistributionWidgetRequest } from "./DistributionWidgetRequest";
88
import { DistributionWidgetXAxis } from "./DistributionWidgetXAxis";
99
import { DistributionWidgetYAxis } from "./DistributionWidgetYAxis";
10+
import { WidgetCustomLink } from "./WidgetCustomLink";
1011
import { WidgetMarker } from "./WidgetMarker";
1112
import { WidgetTextAlign } from "./WidgetTextAlign";
1213
import { WidgetTime } from "./WidgetTime";
@@ -19,6 +20,10 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util";
1920
* Unlike the heat map, a distribution graph’s x-axis is quantity rather than time.
2021
*/
2122
export class DistributionWidgetDefinition {
23+
/**
24+
* A list of custom links.
25+
*/
26+
"customLinks"?: Array<WidgetCustomLink>;
2227
/**
2328
* (Deprecated) The widget legend was replaced by a tooltip and sidebar.
2429
*/
@@ -76,6 +81,10 @@ export class DistributionWidgetDefinition {
7681
* @ignore
7782
*/
7883
static readonly attributeTypeMap: AttributeTypeMap = {
84+
customLinks: {
85+
baseName: "custom_links",
86+
type: "Array<WidgetCustomLink>",
87+
},
7988
legendSize: {
8089
baseName: "legend_size",
8190
type: "string",

0 commit comments

Comments
 (0)