diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 9bdfd0743..4b5678d0b 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -74529,9 +74529,13 @@ paths: - apiKeyAuth: [] appKeyAuth: [] - AuthZ: [] - summary: Get the schedule on-call user + summary: Get scheduled on-call user tags: - On-Call + x-permission: + operator: AND + permissions: + - on_call_read /api/v2/on-call/teams/{team_id}/on-call: get: description: Get a team's on-call users at a given time @@ -74574,6 +74578,10 @@ paths: summary: Get team on-call users tags: - On-Call + x-permission: + operator: AND + permissions: + - on_call_read /api/v2/on-call/teams/{team_id}/routing-rules: get: description: Get a team's On-Call routing rules diff --git a/examples/v2_on-call_GetScheduleOnCallUser.rs b/examples/v2_on-call_GetScheduleOnCallUser.rs index 35c222c6d..9acac40c0 100644 --- a/examples/v2_on-call_GetScheduleOnCallUser.rs +++ b/examples/v2_on-call_GetScheduleOnCallUser.rs @@ -1,4 +1,4 @@ -// Get the schedule on-call user returns "OK" response +// Get scheduled on-call user returns "OK" response use datadog_api_client::datadog; use datadog_api_client::datadogV2::api_on_call::GetScheduleOnCallUserOptionalParams; use datadog_api_client::datadogV2::api_on_call::OnCallAPI; diff --git a/tests/scenarios/cassettes/v2/on-call/Get-scheduled-on-call-user-returns-OK-response.frozen b/tests/scenarios/cassettes/v2/on-call/Get-scheduled-on-call-user-returns-OK-response.frozen new file mode 100644 index 000000000..be12eaae2 --- /dev/null +++ b/tests/scenarios/cassettes/v2/on-call/Get-scheduled-on-call-user-returns-OK-response.frozen @@ -0,0 +1 @@ +2025-12-04T08:50:18.341Z \ No newline at end of file diff --git a/tests/scenarios/cassettes/v2/on-call/Get-the-schedule-on-call-user-returns-OK-response.json b/tests/scenarios/cassettes/v2/on-call/Get-scheduled-on-call-user-returns-OK-response.json similarity index 52% rename from tests/scenarios/cassettes/v2/on-call/Get-the-schedule-on-call-user-returns-OK-response.json rename to tests/scenarios/cassettes/v2/on-call/Get-scheduled-on-call-user-returns-OK-response.json index c430414bd..63e2f88c3 100644 --- a/tests/scenarios/cassettes/v2/on-call/Get-the-schedule-on-call-user-returns-OK-response.json +++ b/tests/scenarios/cassettes/v2/on-call/Get-scheduled-on-call-user-returns-OK-response.json @@ -3,7 +3,7 @@ { "request": { "body": { - "string": "{\"data\":{\"attributes\":{\"email\":\"Test-Get_the_schedule_on_call_user_returns_OK_response-1764252707@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}", + "string": "{\"data\":{\"attributes\":{\"email\":\"Test-Get_scheduled_on_call_user_returns_OK_response-1764838218@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}", "encoding": null }, "headers": { @@ -19,7 +19,7 @@ }, "response": { "body": { - "string": "{\"data\":{\"type\":\"users\",\"id\":\"030e767a-cb9b-11f0-8fcd-5ac0b02adf59\",\"attributes\":{\"name\":null,\"handle\":\"test-get_the_schedule_on_call_user_returns_ok_response-1764252707@datadoghq.com\",\"created_at\":\"2025-11-27T14:11:48.013486+00:00\",\"modified_at\":\"2025-11-27T14:11:48.013486+00:00\",\"email\":\"test-get_the_schedule_on_call_user_returns_ok_response-1764252707@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/a9e8940d153698e24c0b29024875d46f?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", + "string": "{\"data\":{\"type\":\"users\",\"id\":\"42e2447f-d0ee-11f0-b246-f6a778e5e220\",\"attributes\":{\"name\":null,\"handle\":\"test-get_scheduled_on_call_user_returns_ok_response-1764838218@datadoghq.com\",\"created_at\":\"2025-12-04T08:50:19.140471+00:00\",\"modified_at\":\"2025-12-04T08:50:19.140471+00:00\",\"email\":\"test-get_scheduled_on_call_user_returns_ok_response-1764838218@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/6a6c3614a2758d626d4fcde0e9727205?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", "encoding": null }, "headers": { @@ -32,12 +32,12 @@ "message": "Created" } }, - "recorded_at": "Thu, 27 Nov 2025 14:11:47 GMT" + "recorded_at": "Thu, 04 Dec 2025 08:50:18 GMT" }, { "request": { "body": { - "string": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-17T14:11:47.631Z\",\"end_date\":\"2025-12-07T14:11:47.631Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"030e767a-cb9b-11f0-8fcd-5ac0b02adf59\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-22T14:11:47.631Z\"}],\"name\":\"Test-Get_the_schedule_on_call_user_returns_OK_response-1764252707\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}", + "string": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-24T08:50:18.341Z\",\"end_date\":\"2025-12-14T08:50:18.341Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"42e2447f-d0ee-11f0-b246-f6a778e5e220\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-29T08:50:18.341Z\"}],\"name\":\"Test-Get_scheduled_on_call_user_returns_OK_response-1764838218\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}", "encoding": null }, "headers": { @@ -53,7 +53,7 @@ }, "response": { "body": { - "string": "{\"data\":{\"id\":\"93a33505-71dc-4be4-a55d-95eb23b6b400\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_the_schedule_on_call_user_returns_OK_response-1764252707\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"c9addf6a-059c-4b07-aced-a2c287fd969f\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", + "string": "{\"data\":{\"id\":\"7f4eb086-4141-4f2a-ae4a-c0a06816672b\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_scheduled_on_call_user_returns_OK_response-1764838218\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"ad5985ec-b9e0-4dc7-aff9-a7bb75fc334f\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", "encoding": null }, "headers": { @@ -66,7 +66,7 @@ "message": "Created" } }, - "recorded_at": "Thu, 27 Nov 2025 14:11:47 GMT" + "recorded_at": "Thu, 04 Dec 2025 08:50:18 GMT" }, { "request": { @@ -77,11 +77,11 @@ ] }, "method": "get", - "uri": "https://api.datadoghq.com/api/v2/on-call/schedules/93a33505-71dc-4be4-a55d-95eb23b6b400/on-call" + "uri": "https://api.datadoghq.com/api/v2/on-call/schedules/7f4eb086-4141-4f2a-ae4a-c0a06816672b/on-call" }, "response": { "body": { - "string": "{\"data\":{\"id\":\"030e767a-cb9b-11f0-8fcd-5ac0b02adf59-2025-11-27T09:11:48-05:00-2025-11-28T09:11:47-05:00\",\"type\":\"shifts\",\"attributes\":{\"end\":\"2025-11-28T09:11:47-05:00\",\"start\":\"2025-11-27T09:11:48.47496-05:00\"},\"relationships\":{\"user\":{\"data\":{\"id\":\"030e767a-cb9b-11f0-8fcd-5ac0b02adf59\",\"type\":\"users\"}}}}}", + "string": "{\"data\":{\"id\":\"42e2447f-d0ee-11f0-b246-f6a778e5e220-2025-12-04T03:50:19-05:00-2025-12-05T03:50:18-05:00\",\"type\":\"shifts\",\"attributes\":{\"end\":\"2025-12-05T03:50:18-05:00\",\"start\":\"2025-12-04T03:50:19.261184-05:00\"},\"relationships\":{\"user\":{\"data\":{\"id\":\"42e2447f-d0ee-11f0-b246-f6a778e5e220\",\"type\":\"users\"}}}}}", "encoding": null }, "headers": { @@ -94,7 +94,7 @@ "message": "OK" } }, - "recorded_at": "Thu, 27 Nov 2025 14:11:47 GMT" + "recorded_at": "Thu, 04 Dec 2025 08:50:18 GMT" }, { "request": { @@ -105,7 +105,7 @@ ] }, "method": "delete", - "uri": "https://api.datadoghq.com/api/v2/on-call/schedules/93a33505-71dc-4be4-a55d-95eb23b6b400" + "uri": "https://api.datadoghq.com/api/v2/on-call/schedules/7f4eb086-4141-4f2a-ae4a-c0a06816672b" }, "response": { "body": { @@ -118,7 +118,7 @@ "message": "No Content" } }, - "recorded_at": "Thu, 27 Nov 2025 14:11:47 GMT" + "recorded_at": "Thu, 04 Dec 2025 08:50:18 GMT" }, { "request": { @@ -129,7 +129,7 @@ ] }, "method": "delete", - "uri": "https://api.datadoghq.com/api/v2/users/030e767a-cb9b-11f0-8fcd-5ac0b02adf59" + "uri": "https://api.datadoghq.com/api/v2/users/42e2447f-d0ee-11f0-b246-f6a778e5e220" }, "response": { "body": { @@ -142,7 +142,7 @@ "message": "No Content" } }, - "recorded_at": "Thu, 27 Nov 2025 14:11:47 GMT" + "recorded_at": "Thu, 04 Dec 2025 08:50:18 GMT" } ], "recorded_with": "VCR 6.0.0" diff --git a/tests/scenarios/cassettes/v2/on-call/Get-the-schedule-on-call-user-returns-OK-response.frozen b/tests/scenarios/cassettes/v2/on-call/Get-the-schedule-on-call-user-returns-OK-response.frozen deleted file mode 100644 index baa8f4a58..000000000 --- a/tests/scenarios/cassettes/v2/on-call/Get-the-schedule-on-call-user-returns-OK-response.frozen +++ /dev/null @@ -1 +0,0 @@ -2025-11-27T14:11:47.631Z \ No newline at end of file diff --git a/tests/scenarios/features/v2/on-call.feature b/tests/scenarios/features/v2/on-call.feature index 7bcd1d00e..c52e4291f 100644 --- a/tests/scenarios/features/v2/on-call.feature +++ b/tests/scenarios/features/v2/on-call.feature @@ -127,52 +127,52 @@ Feature: On-Call Then the response status is 200 OK @generated @skip @team:DataDog/on-call - Scenario: Get team on-call users returns "Bad Request" response - Given new "GetTeamOnCallUsers" request - And request contains "team_id" parameter from "REPLACE.ME" + Scenario: Get scheduled on-call user returns "Bad Request" response + Given new "GetScheduleOnCallUser" request + And request contains "schedule_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request @generated @skip @team:DataDog/on-call - Scenario: Get team on-call users returns "Not Found" response - Given new "GetTeamOnCallUsers" request - And request contains "team_id" parameter from "REPLACE.ME" + Scenario: Get scheduled on-call user returns "Not Found" response + Given new "GetScheduleOnCallUser" request + And request contains "schedule_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found @team:DataDog/on-call - Scenario: Get team on-call users returns "OK" response - Given new "GetTeamOnCallUsers" request + Scenario: Get scheduled on-call user returns "OK" response + Given new "GetScheduleOnCallUser" request And there is a valid "user" in the system - And there is a valid "dd_team" in the system And there is a valid "schedule" in the system - And there is a valid "escalation_policy" in the system - And there are valid "routing_rules" in the system - And request contains "team_id" parameter from "routing_rules.data.id" - And request contains "include" parameter with value "responders,escalations.responders" + And request contains "schedule_id" parameter from "schedule.data.id" When the request is sent Then the response status is 200 OK @generated @skip @team:DataDog/on-call - Scenario: Get the schedule on-call user returns "Bad Request" response - Given new "GetScheduleOnCallUser" request - And request contains "schedule_id" parameter from "REPLACE.ME" + Scenario: Get team on-call users returns "Bad Request" response + Given new "GetTeamOnCallUsers" request + And request contains "team_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request @generated @skip @team:DataDog/on-call - Scenario: Get the schedule on-call user returns "Not Found" response - Given new "GetScheduleOnCallUser" request - And request contains "schedule_id" parameter from "REPLACE.ME" + Scenario: Get team on-call users returns "Not Found" response + Given new "GetTeamOnCallUsers" request + And request contains "team_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 404 Not Found @team:DataDog/on-call - Scenario: Get the schedule on-call user returns "OK" response - Given new "GetScheduleOnCallUser" request + Scenario: Get team on-call users returns "OK" response + Given new "GetTeamOnCallUsers" request And there is a valid "user" in the system + And there is a valid "dd_team" in the system And there is a valid "schedule" in the system - And request contains "schedule_id" parameter from "schedule.data.id" + And there is a valid "escalation_policy" in the system + And there are valid "routing_rules" in the system + And request contains "team_id" parameter from "routing_rules.data.id" + And request contains "include" parameter with value "responders,escalations.responders" When the request is sent Then the response status is 200 OK