Skip to content
Open
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 .generator/schemas/v1/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1497,11 +1497,11 @@ components:
nullable: true
type: array
tags:
description: List of team names representing ownership of a dashboard.
description: Tags associated with the dashboard. Supports up to five team tags and two AI tags.
items:
description: The name of a Datadog team of the form `team:<name>`
description: A dashboard tag, such as `team:<name>` or `ai:<value>`.
type: string
maxItems: 5
maxItems: 7
nullable: true
type: array
template_variable_presets:
Expand Down Expand Up @@ -1994,7 +1994,7 @@ components:
dataset_provider:
$ref: "#/components/schemas/PublishedDatasetProvider"
filter:
description: Filter applied to the dataset's rows, using events-style search syntax.
description: Filter applied to the rows of the dataset, using events-style search syntax.
example: "service:web-store"
type: string
limit:
Expand Down
6 changes: 3 additions & 3 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31666,11 +31666,11 @@ components:
readOnly: true
type: integer
tags:
description: List of team names representing ownership of a dashboard.
description: Tags associated with the dashboard. Supports up to five team tags and two AI tags.
items:
description: The name of a Datadog team, formatted as `team:<name>`
description: A dashboard tag, such as `team:<name>` or `ai:<value>`.
type: string
maxItems: 5
maxItems: 7
nullable: true
readOnly: true
type: array
Expand Down
11 changes: 11 additions & 0 deletions examples/v1/dashboards/GetDashboard_3568243180.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Get a dashboard with five team tags and two AI tags

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V1::DashboardsAPI.new

# there is a valid "dashboard_with_team_and_ai_tags" in the system
DASHBOARD_WITH_TEAM_AND_AI_TAGS_ID = ENV["DASHBOARD_WITH_TEAM_AND_AI_TAGS_ID"]
p api_instance.get_dashboard(DASHBOARD_WITH_TEAM_AND_AI_TAGS_ID)
11 changes: 11 additions & 0 deletions examples/v2/dashboard-lists/GetDashboardListItems_2618168713.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Get dashboard list items with five team tags and two AI tags

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::DashboardListsAPI.new

# there is a valid "dashboard_list" in the system
DASHBOARD_LIST_ID = ENV["DASHBOARD_LIST_ID"]
p api_instance.get_dashboard_list_items(DASHBOARD_LIST_ID.to_i)
16 changes: 16 additions & 0 deletions features/v1/dashboards.feature
Original file line number Diff line number Diff line change
Expand Up @@ -1428,6 +1428,22 @@ Feature: Dashboards
Then the response status is 200 OK
And the response "author_name" is equal to "Frog Account"

@team:ddoghq/dashboards-backend
Scenario: Get a dashboard with five team tags and two AI tags
Given there is a valid "dashboard_with_team_and_ai_tags" in the system
And new "GetDashboard" request
And request contains "dashboard_id" parameter from "dashboard_with_team_and_ai_tags.id"
When the request is sent
Then the response status is 200 OK
And the response "tags" has length 7
And the response "tags" array contains value "team:alpha"
And the response "tags" array contains value "team:beta"
And the response "tags" array contains value "team:gamma"
And the response "tags" array contains value "team:delta"
And the response "tags" array contains value "team:epsilon"
And the response "tags" array contains value "ai:generated"
And the response "tags" array contains value "ai:edited"

@team:ddoghq/reporting-and-sharing
Scenario: Get a shared dashboard returns "OK" response
Given there is a valid "dashboard" in the system
Expand Down
12 changes: 12 additions & 0 deletions features/v1/given.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@
"tag": "Dashboards",
"operationId": "CreateDashboard"
},
{
"parameters": [
{
"name": "body",
"value": "{\"title\": \"{{ unique }}\", \"layout_type\": \"ordered\", \"widgets\": [], \"tags\": [\"team:alpha\", \"team:beta\", \"team:gamma\", \"team:delta\", \"team:epsilon\", \"ai:generated\", \"ai:edited\"]}"
}
],
"step": "there is a valid \"dashboard_with_team_and_ai_tags\" in the system",
"key": "dashboard_with_team_and_ai_tags",
"tag": "Dashboards",
"operationId": "CreateDashboard"
},
{
"parameters": [
{
Expand Down
20 changes: 20 additions & 0 deletions features/v2/dashboard_lists.feature
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,26 @@ Feature: Dashboard Lists
When the request is sent
Then the response status is 200 OK

@team:ddoghq/dashboards-backend
Scenario: Get dashboard list items with five team tags and two AI tags
Given there is a valid "dashboard_list" in the system
And there is a valid "dashboard_with_team_and_ai_tags" in the system
And the "dashboard_list" has the "dashboard_with_team_and_ai_tags"
And new "GetDashboardListItems" request
And request contains "dashboard_list_id" parameter from "dashboard_list.id"
When the request is sent
Then the response status is 200 OK
And the response "dashboards" has length 1
And the response "dashboards[0].id" is equal to "{{ dashboard_with_team_and_ai_tags.id }}"
And the response "dashboards[0].tags" has length 7
And the response "dashboards[0].tags" array contains value "team:alpha"
And the response "dashboards[0].tags" array contains value "team:beta"
And the response "dashboards[0].tags" array contains value "team:gamma"
And the response "dashboards[0].tags" array contains value "team:delta"
And the response "dashboards[0].tags" array contains value "team:epsilon"
And the response "dashboards[0].tags" array contains value "ai:generated"
And the response "dashboards[0].tags" array contains value "ai:edited"

@generated @skip @team:ddoghq/dashboards-backend
Scenario: Get items of a Dashboard List returns "Not Found" response
Given new "GetDashboardListItems" request
Expand Down
16 changes: 16 additions & 0 deletions features/v2/given.json
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,22 @@
"tag": "Dashboard Lists",
"operationId": "CreateDashboardListItems"
},
{
"parameters": [
{
"name": "dashboard_list_id",
"source": "dashboard_list.id"
},
{
"name": "body",
"value": "{\"dashboards\": [{\"id\": \"{{ dashboard_with_team_and_ai_tags.id }}\", \"type\": \"custom_timeboard\"}]}"
}
],
"step": "the \"dashboard_list\" has the \"dashboard_with_team_and_ai_tags\"",
"key": "dashboard_list_dashboard_with_team_and_ai_tags",
"tag": "Dashboard Lists",
"operationId": "CreateDashboardListItems"
},
{
"parameters": [
{
Expand Down
14 changes: 14 additions & 0 deletions generated-test/test-runner-data/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -966,6 +966,13 @@
"scenario": "Get a dashboard returns 'author_name'",
"version": "v1"
},
{
"feature": "Dashboards",
"feature_file": "../../features/v1/dashboards.feature",
"file": "v1/dashboards/get-a-dashboard-with-five-team-tags-and-two-ai-tags.json",
"scenario": "Get a dashboard with five team tags and two AI tags",
"version": "v1"
},
{
"feature": "Dashboards",
"feature_file": "../../features/v1/dashboards.feature",
Expand Down Expand Up @@ -4788,6 +4795,13 @@
"scenario": "Delete custom timeboard dashboard from an existing dashboard list returns \"OK\" response",
"version": "v2"
},
{
"feature": "Dashboard Lists",
"feature_file": "../../features/v2/dashboard_lists.feature",
"file": "v2/dashboard-lists/get-dashboard-list-items-with-five-team-tags-and-two-ai-tags.json",
"scenario": "Get dashboard list items with five team tags and two AI tags",
"version": "v2"
},
{
"feature": "Dashboard Lists",
"feature_file": "../../features/v2/dashboard_lists.feature",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"api": "Dashboards",
"expected_status": 200,
"feature": "Dashboards",
"id": "v1/Dashboards/Get a dashboard with five team tags and two AI tags",
"operation_id": "GetDashboard",
"request": {
"body": null,
"content_type": null,
"method": "GET",
"pagination": false,
"parameters": [
{
"explode": null,
"in": "path",
"name": "dashboard_id",
"required": true,
"schema": {
"format": null,
"ref": null,
"type": "string"
},
"source": {
"path": "dashboard_with_team_and_ai_tags.id",
"type": "fixture"
},
"style": null
}
],
"path": "/api/v1/dashboard/{dashboard_id}"
},
"scenario": "Get a dashboard with five team tags and two AI tags",
"schema_version": 1,
"version": "v1"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"api": "DashboardLists",
"expected_status": 200,
"feature": "Dashboard Lists",
"id": "v2/Dashboard Lists/Get dashboard list items with five team tags and two AI tags",
"operation_id": "GetDashboardListItems",
"request": {
"body": null,
"content_type": null,
"method": "GET",
"pagination": false,
"parameters": [
{
"explode": null,
"in": "path",
"name": "dashboard_list_id",
"required": true,
"schema": {
"format": "int64",
"ref": null,
"type": "integer"
},
"source": {
"path": "dashboard_list.id",
"type": "fixture"
},
"style": null
}
],
"path": "/api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboards"
},
"scenario": "Get dashboard list items with five team tags and two AI tags",
"schema_version": 1,
"version": "v2"
}
90 changes: 90 additions & 0 deletions generated-test/test-server-data/v1/dashboards.json
Original file line number Diff line number Diff line change
Expand Up @@ -12247,6 +12247,96 @@
"scenario": "Get a dashboard returns 'author_name'",
"version": "v1"
},
{
"feature": "Dashboards",
"frozen_at": "2026-08-31T02:38:16.989Z",
"interactions": [
{
"request": {
"body": {
"type": "json",
"value": {
"layout_type": "ordered",
"tags": [
"team:alpha",
"team:beta",
"team:gamma",
"team:delta",
"team:epsilon",
"ai:generated",
"ai:edited"
],
"title": "Test-Get_a_dashboard_with_five_team_tags_and_two_AI_tags-1788143896",
"widgets": []
}
},
"content_type": "application/json",
"method": "POST",
"path": "/api/v1/dashboard",
"query": []
},
"response": {
"body": {
"encoding": "text",
"value": "{\"id\":\"7j6-m9w-ts2\",\"title\":\"Test-Get_a_dashboard_with_five_team_tags_and_two_AI_tags-1788143896\",\"description\":null,\"author_handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"author_name\":\"CI Account\",\"layout_type\":\"ordered\",\"url\":\"/dashboard/7j6-m9w-ts2/test-getadashboardwithfiveteamtagsandtwoaitags-1788143896\",\"template_variables\":null,\"widgets\":[],\"notify_list\":null,\"created_at\":\"2026-08-31T02:38:17.100817+00:00\",\"modified_at\":\"2026-08-31T02:38:17.100817+00:00\",\"tags\":[\"team:alpha\",\"team:beta\",\"team:gamma\",\"team:delta\",\"team:epsilon\",\"ai:generated\",\"ai:edited\"],\"restricted_roles\":[]}"
},
"headers": {
"content-type": "application/json"
},
"reason": "OK",
"status": 200
}
},
{
"request": {
"body": {
"type": "empty",
"value": null
},
"content_type": "",
"method": "GET",
"path": "/api/v1/dashboard/7j6-m9w-ts2",
"query": []
},
"response": {
"body": {
"encoding": "text",
"value": "{\"id\":\"7j6-m9w-ts2\",\"title\":\"Test-Get_a_dashboard_with_five_team_tags_and_two_AI_tags-1788143896\",\"description\":null,\"author_handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"author_name\":\"CI Account\",\"layout_type\":\"ordered\",\"url\":\"/dashboard/7j6-m9w-ts2/test-getadashboardwithfiveteamtagsandtwoaitags-1788143896\",\"template_variables\":null,\"widgets\":[],\"notify_list\":null,\"created_at\":\"2026-08-31T02:38:17.100817+00:00\",\"modified_at\":\"2026-08-31T02:38:17.100817+00:00\",\"tags\":[\"team:alpha\",\"team:beta\",\"team:gamma\",\"team:delta\",\"team:epsilon\",\"ai:generated\",\"ai:edited\"],\"restricted_roles\":[]}"
},
"headers": {
"content-type": "application/json"
},
"reason": "OK",
"status": 200
}
},
{
"request": {
"body": {
"type": "empty",
"value": null
},
"content_type": "",
"method": "DELETE",
"path": "/api/v1/dashboard/7j6-m9w-ts2",
"query": []
},
"response": {
"body": {
"encoding": "text",
"value": "{\"deleted_dashboard_id\":\"7j6-m9w-ts2\"}"
},
"headers": {
"content-type": "application/json"
},
"reason": "OK",
"status": 200
}
}
],
"scenario": "Get a dashboard with five team tags and two AI tags",
"version": "v1"
},
{
"feature": "Dashboards",
"frozen_at": "2024-11-15T19:33:06.595Z",
Expand Down
Loading
Loading