diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 9bdfd074316..4b5678d0bcf 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/cassettes/features/v2/on-call/Get-the-schedule-on-call-user-returns-OK-response.frozen b/cassettes/features/v2/on-call/Get-the-schedule-on-call-user-returns-OK-response.frozen deleted file mode 100644 index baa8f4a5897..00000000000 --- a/cassettes/features/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/cassettes/features/v2/on-call/Get-the-schedule-on-call-user-returns-OK-response.yml b/cassettes/features/v2/on-call/Get-the-schedule-on-call-user-returns-OK-response.yml deleted file mode 100644 index f84799dd309..00000000000 --- a/cassettes/features/v2/on-call/Get-the-schedule-on-call-user-returns-OK-response.yml +++ /dev/null @@ -1,101 +0,0 @@ -http_interactions: -- recorded_at: Thu, 27 Nov 2025 14:11:47 GMT - request: - body: - encoding: UTF-8 - string: '{"data":{"attributes":{"email":"Test-Get_the_schedule_on_call_user_returns_OK_response-1764252707@datadoghq.com","title":"user - title"},"type":"users"}}' - headers: - Accept: - - application/json - Content-Type: - - application/json - method: POST - uri: https://api.datadoghq.com/api/v2/users - response: - body: - encoding: UTF-8 - 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"}}}}} - - ' - headers: - Content-Type: - - application/json - status: - code: 201 - message: Created -- recorded_at: Thu, 27 Nov 2025 14:11:47 GMT - request: - body: - encoding: UTF-8 - 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"}}' - headers: - Accept: - - application/json - Content-Type: - - application/json - method: POST - uri: https://api.datadoghq.com/api/v2/on-call/schedules - response: - body: - encoding: UTF-8 - 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"}]}}}}' - headers: - Content-Type: - - application/vnd.api+json - status: - code: 201 - message: Created -- recorded_at: Thu, 27 Nov 2025 14:11:47 GMT - request: - body: null - headers: - Accept: - - application/json - method: GET - uri: https://api.datadoghq.com/api/v2/on-call/schedules/93a33505-71dc-4be4-a55d-95eb23b6b400/on-call - response: - body: - encoding: UTF-8 - 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"}}}}}' - headers: - Content-Type: - - application/vnd.api+json - status: - code: 200 - message: OK -- recorded_at: Thu, 27 Nov 2025 14:11:47 GMT - request: - body: null - headers: - Accept: - - '*/*' - method: DELETE - uri: https://api.datadoghq.com/api/v2/on-call/schedules/93a33505-71dc-4be4-a55d-95eb23b6b400 - response: - body: - encoding: UTF-8 - string: '' - headers: {} - status: - code: 204 - message: No Content -- recorded_at: Thu, 27 Nov 2025 14:11:47 GMT - request: - body: null - headers: - Accept: - - '*/*' - method: DELETE - uri: https://api.datadoghq.com/api/v2/users/030e767a-cb9b-11f0-8fcd-5ac0b02adf59 - response: - body: - encoding: UTF-8 - string: '' - headers: {} - status: - code: 204 - message: No Content -recorded_with: VCR 6.0.0 diff --git a/examples/v2/on-call/GetScheduleOnCallUser.rb b/examples/v2/on-call/GetScheduleOnCallUser.rb index f759d81af55..8b109c8320d 100644 --- a/examples/v2/on-call/GetScheduleOnCallUser.rb +++ b/examples/v2/on-call/GetScheduleOnCallUser.rb @@ -1,4 +1,4 @@ -# Get the schedule on-call user returns "OK" response +# Get scheduled on-call user returns "OK" response require "datadog_api_client" api_instance = DatadogAPIClient::V2::OnCallAPI.new diff --git a/features/v2/on-call.feature b/features/v2/on-call.feature index 7bcd1d00e1b..c52e4291fc6 100644 --- a/features/v2/on-call.feature +++ b/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 diff --git a/lib/datadog_api_client/v2/api/on_call_api.rb b/lib/datadog_api_client/v2/api/on_call_api.rb index 87628c506a0..f9abcde0e33 100644 --- a/lib/datadog_api_client/v2/api/on_call_api.rb +++ b/lib/datadog_api_client/v2/api/on_call_api.rb @@ -492,7 +492,7 @@ def get_on_call_team_routing_rules_with_http_info(team_id, opts = {}) return data, status_code, headers end - # Get the schedule on-call user. + # Get scheduled on-call user. # # @see #get_schedule_on_call_user_with_http_info def get_schedule_on_call_user(schedule_id, opts = {}) @@ -500,7 +500,7 @@ def get_schedule_on_call_user(schedule_id, opts = {}) data end - # Get the schedule on-call user. + # Get scheduled on-call user. # # Retrieves the user who is on-call for the specified schedule at a given time. #