From 9e8cd470b20f1eda51fb4cbf4e5dc7672009a51d Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Wed, 20 May 2026 18:16:08 +0000 Subject: [PATCH] Regenerate client from commit 9d9a6c9 of spec repo --- .generator/schemas/v2/openapi.yaml | 49 ++++++- .../frozen.json | 2 +- .../recording.har | 120 +++++++++--------- features/v2/on-call.feature | 2 +- services/on_call/src/v2/index.ts | 3 + .../src/v2/models/RoutingRuleAction.ts | 2 + .../src/v2/models/RoutingRuleAttributes.ts | 2 +- .../RoutingRuleEscalationPolicyAction.ts | 83 ++++++++++++ ...gRuleEscalationPolicyActionSupportHours.ts | 55 ++++++++ .../RoutingRuleEscalationPolicyActionType.ts | 9 ++ .../v2/models/TeamRoutingRulesRequestRule.ts | 2 +- .../on_call/src/v2/models/TimeRestrictions.ts | 2 +- services/on_call/src/v2/models/TypingInfo.ts | 7 + 13 files changed, 272 insertions(+), 66 deletions(-) create mode 100644 services/on_call/src/v2/models/RoutingRuleEscalationPolicyAction.ts create mode 100644 services/on_call/src/v2/models/RoutingRuleEscalationPolicyActionSupportHours.ts create mode 100644 services/on_call/src/v2/models/RoutingRuleEscalationPolicyActionType.ts diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index ac098a3c305d..27ad049e17c7 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -65461,6 +65461,7 @@ components: - $ref: "#/components/schemas/SendSlackMessageAction" - $ref: "#/components/schemas/SendTeamsMessageAction" - $ref: "#/components/schemas/TriggerWorkflowAutomationAction" + - $ref: "#/components/schemas/RoutingRuleEscalationPolicyAction" RoutingRuleAttributes: description: Defines the configurable attributes of a routing rule, such as actions, query, time restriction, and urgency. properties: @@ -65478,6 +65479,52 @@ components: urgency: $ref: "#/components/schemas/Urgency" type: object + RoutingRuleEscalationPolicyAction: + description: "Triggers an escalation policy." + properties: + ack_timeout_minutes: + description: "The number of minutes before an acknowledged page is re-triggered." + example: 30 + format: int64 + type: integer + policy_id: + description: "The ID of the escalation policy to route to." + example: "00000000-0000-0000-0000-000000000000" + type: string + support_hours: + $ref: "#/components/schemas/RoutingRuleEscalationPolicyActionSupportHours" + type: + $ref: "#/components/schemas/RoutingRuleEscalationPolicyActionType" + urgency: + $ref: "#/components/schemas/Urgency" + required: + - type + - policy_id + type: object + RoutingRuleEscalationPolicyActionSupportHours: + description: "Support hours during which the escalation policy will be executed. Outside of these hours, the escalation policy will be on hold and triggered once the next support hours window starts. This is mutually exclusive with the top-level `time_restriction` field on the routing rule." + properties: + restrictions: + description: "The list of support hours time windows." + items: + $ref: "#/components/schemas/TimeRestriction" + type: array + time_zone: + description: "The time zone in which the support hours are expressed." + example: "" + type: string + required: + - time_zone + type: object + RoutingRuleEscalationPolicyActionType: + default: escalation_policy + description: "Indicates that the action pages an escalation policy. This action can be set once per routing rule item, and is mutually exclusive with the top-level `policy_id` field on the routing rule." + enum: + - escalation_policy + example: escalation_policy + type: string + x-enum-varnames: + - ESCALATION_POLICY RoutingRuleRelationships: description: Specifies relationships for a routing rule, linking to associated policy resources. properties: @@ -85180,7 +85227,7 @@ components: type: string type: object TimeRestrictions: - description: Holds time zone information and a list of time restrictions for a routing rule. + description: Time restrictions during which the routing rule is active. Outside of these hours, the rule does not match and routing continues to subsequent rules. This is mutually exclusive with the action-level `support_hours` field. properties: restrictions: description: Defines the list of time-based restrictions. diff --git a/cassettes/v2/On-Call_446749911/Set-On-Call-team-routing-rules-returns-OK-response_1745526811/frozen.json b/cassettes/v2/On-Call_446749911/Set-On-Call-team-routing-rules-returns-OK-response_1745526811/frozen.json index ffff81d4e3d2..764bbd41870a 100644 --- a/cassettes/v2/On-Call_446749911/Set-On-Call-team-routing-rules-returns-OK-response_1745526811/frozen.json +++ b/cassettes/v2/On-Call_446749911/Set-On-Call-team-routing-rules-returns-OK-response_1745526811/frozen.json @@ -1 +1 @@ -"2025-11-27T14:11:49.966Z" +"2026-05-15T14:39:18.459Z" diff --git a/cassettes/v2/On-Call_446749911/Set-On-Call-team-routing-rules-returns-OK-response_1745526811/recording.har b/cassettes/v2/On-Call_446749911/Set-On-Call-team-routing-rules-returns-OK-response_1745526811/recording.har index 0c16fc94a991..47f5744d6fc5 100644 --- a/cassettes/v2/On-Call_446749911/Set-On-Call-team-routing-rules-returns-OK-response_1745526811/recording.har +++ b/cassettes/v2/On-Call_446749911/Set-On-Call-team-routing-rules-returns-OK-response_1745526811/recording.har @@ -8,7 +8,7 @@ }, "entries": [ { - "_id": "07055f7d82b7f7c5900fec8976ba7ab7", + "_id": "a0621bc13c011d49e9a554c307511861", "_order": 0, "cache": {}, "request": { @@ -32,17 +32,17 @@ "postData": { "mimeType": "application/json", "params": [], - "text": "{\"data\":{\"attributes\":{\"email\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1764252709@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" + "text": "{\"data\":{\"attributes\":{\"email\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1778855958@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" }, "queryString": [], "url": "https://api.datadoghq.com/api/v2/users" }, "response": { - "bodySize": 728, + "bodySize": 774, "content": { "mimeType": "application/json", - "size": 728, - "text": "{\"data\":{\"type\":\"users\",\"id\":\"0473ca92-cb9b-11f0-85f9-9a82ffe01443\",\"attributes\":{\"name\":null,\"handle\":\"test-set_on_call_team_routing_rules_returns_ok_response-1764252709@datadoghq.com\",\"created_at\":\"2025-11-27T14:11:50.355271+00:00\",\"modified_at\":\"2025-11-27T14:11:50.355271+00:00\",\"email\":\"test-set_on_call_team_routing_rules_returns_ok_response-1764252709@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/ad92f892fdf302962d879c0d02664d8e?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" + "size": 774, + "text": "{\"data\":{\"type\":\"users\",\"id\":\"af4cfd73-8162-49c3-899a-101d0617d500\",\"attributes\":{\"uuid\":\"af4cfd73-8162-49c3-899a-101d0617d500\",\"name\":null,\"handle\":\"test-set_on_call_team_routing_rules_returns_ok_response-1778855958@datadoghq.com\",\"created_at\":\"2026-05-15T14:39:20.154059+00:00\",\"modified_at\":\"2026-05-15T14:39:20.154059+00:00\",\"email\":\"test-set_on_call_team_routing_rules_returns_ok_response-1778855958@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/c530c1e2f9d5cddf9d34bed00a5e760b?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" }, "cookies": [], "headers": [ @@ -57,11 +57,11 @@ "status": 201, "statusText": "Created" }, - "startedDateTime": "2025-11-27T14:11:49.970Z", - "time": 472 + "startedDateTime": "2026-05-15T14:39:19.375Z", + "time": 866 }, { - "_id": "b2cc82267752de843639fd21eea86f85", + "_id": "422de32fa56ec8f64be819f334ba8320", "_order": 0, "cache": {}, "request": { @@ -85,7 +85,7 @@ "postData": { "mimeType": "application/json", "params": [], - "text": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-a7692378c203a880\",\"name\":\"test-name-a7692378c203a880\"},\"type\":\"team\"}}" + "text": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-fc62c73422bed141\",\"name\":\"test-name-fc62c73422bed141\"},\"type\":\"team\"}}" }, "queryString": [], "url": "https://api.datadoghq.com/api/v2/team" @@ -95,7 +95,7 @@ "content": { "mimeType": "application/vnd.api+json", "size": 661, - "text": "{\"data\":{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"team\",\"attributes\":{\"avatar\":null,\"banner\":14,\"created_at\":\"2025-11-27T14:11:50.842947+00:00\",\"description\":null,\"handle\":\"test-handle-a7692378c203a880\",\"hidden_modules\":[],\"link_count\":0,\"modified_at\":\"2025-11-27T14:11:50.842947+00:00\",\"name\":\"test-name-a7692378c203a880\",\"summary\":null,\"user_count\":0,\"visible_modules\":[]},\"relationships\":{\"team_links\":{\"data\":[],\"links\":{\"related\":\"/api/v2/team/ba4fe917-0da4-4b40-96da-f9d7306d97d8/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/ba4fe917-0da4-4b40-96da-f9d7306d97d8/permission-settings\"}}}}}" + "text": "{\"data\":{\"id\":\"5f48616e-52b1-4126-a255-0bd9f4820dc1\",\"type\":\"team\",\"attributes\":{\"avatar\":null,\"banner\":11,\"created_at\":\"2026-05-15T14:39:20.573129+00:00\",\"description\":null,\"handle\":\"test-handle-fc62c73422bed141\",\"hidden_modules\":null,\"is_managed\":false,\"link_count\":0,\"modified_at\":\"2026-05-15T14:39:20.573129+00:00\",\"name\":\"test-name-fc62c73422bed141\",\"summary\":null,\"user_count\":0,\"visible_modules\":null},\"relationships\":{\"team_links\":{\"data\":[],\"links\":{\"related\":\"/api/v2/team/5f48616e-52b1-4126-a255-0bd9f4820dc1/links\"}},\"user_team_permissions\":{\"data\":null,\"links\":{\"related\":\"/api/v2/team/5f48616e-52b1-4126-a255-0bd9f4820dc1/permission-settings\"}}}}}" }, "cookies": [], "headers": [ @@ -104,17 +104,17 @@ "value": "application/vnd.api+json" } ], - "headersSize": 700, + "headersSize": 662, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 201, "statusText": "Created" }, - "startedDateTime": "2025-11-27T14:11:50.448Z", - "time": 495 + "startedDateTime": "2026-05-15T14:39:20.249Z", + "time": 403 }, { - "_id": "44fc32335f8b1f37316cd7a745aee094", + "_id": "cfbbfb1074efa688a6ffc257ff9814ce", "_order": 0, "cache": {}, "request": { @@ -138,7 +138,7 @@ "postData": { "mimeType": "application/json", "params": [], - "text": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-17T14:11:49.966Z\",\"end_date\":\"2025-12-07T14:11:49.966Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"0473ca92-cb9b-11f0-85f9-9a82ffe01443\"}}],\"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:49.966Z\"}],\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1764252709\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" + "text": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2026-05-05T14:39:18.459Z\",\"end_date\":\"2026-05-25T14:39:18.459Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"af4cfd73-8162-49c3-899a-101d0617d500\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2026-05-10T14:39:18.459Z\"}],\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1778855958\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" }, "queryString": [], "url": "https://api.datadoghq.com/api/v2/on-call/schedules" @@ -148,7 +148,7 @@ "content": { "mimeType": "application/vnd.api+json", "size": 375, - "text": "{\"data\":{\"id\":\"1f9b0595-17a3-4d95-9b2e-edcea3b6e737\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1764252709\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"0eecb6fe-83c6-48c9-9e0e-82379498f733\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}" + "text": "{\"data\":{\"id\":\"6417bbaa-a75e-474d-a45a-9af8e1a3907a\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1778855958\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"d2139431-973b-42cc-a932-941aeff81783\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}" }, "cookies": [], "headers": [ @@ -163,11 +163,11 @@ "status": 201, "statusText": "Created" }, - "startedDateTime": "2025-11-27T14:11:50.949Z", - "time": 423 + "startedDateTime": "2026-05-15T14:39:20.659Z", + "time": 386 }, { - "_id": "9b1f112eed9b24a3439d609848b84864", + "_id": "fe5d731915772258320fe1e31c686d06", "_order": 0, "cache": {}, "request": { @@ -185,23 +185,23 @@ "value": "application/json" } ], - "headersSize": 590, + "headersSize": 589, "httpVersion": "HTTP/1.1", "method": "POST", "postData": { "mimeType": "application/json", "params": [], - "text": "{\"data\":{\"attributes\":{\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1764252709\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"teams\"},{\"id\":\"1f9b0595-17a3-4d95-9b2e-edcea3b6e737\",\"type\":\"schedules\"},{\"config\":{\"schedule\":{\"position\":\"previous\"}},\"id\":\"1f9b0595-17a3-4d95-9b2e-edcea3b6e737\",\"type\":\"schedules\"},{\"id\":\"0473ca92-cb9b-11f0-85f9-9a82ffe01443\",\"type\":\"users\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" + "text": "{\"data\":{\"attributes\":{\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1778855958\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"5f48616e-52b1-4126-a255-0bd9f4820dc1\",\"type\":\"teams\"},{\"id\":\"6417bbaa-a75e-474d-a45a-9af8e1a3907a\",\"type\":\"schedules\"},{\"config\":{\"schedule\":{\"position\":\"previous\"}},\"id\":\"6417bbaa-a75e-474d-a45a-9af8e1a3907a\",\"type\":\"schedules\"},{\"id\":\"af4cfd73-8162-49c3-899a-101d0617d500\",\"type\":\"users\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"5f48616e-52b1-4126-a255-0bd9f4820dc1\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"5f48616e-52b1-4126-a255-0bd9f4820dc1\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" }, "queryString": [], "url": "https://api.datadoghq.com/api/v2/on-call/escalation-policies" }, "response": { - "bodySize": 448, + "bodySize": 458, "content": { "mimeType": "application/vnd.api+json", - "size": 448, - "text": "{\"data\":{\"id\":\"66f0e922-2834-4d68-aa0b-98cc81fc2a9d\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1764252709\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"533f661e-6a1f-4327-8d3f-035add94cff8\",\"type\":\"steps\"},{\"id\":\"b8948730-6aec-4a51-8662-cce4026b94dc\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"teams\"}]}}}}" + "size": 458, + "text": "{\"data\":{\"id\":\"3321cfa1-8420-4655-ac38-f51ea522834e\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1778855958\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"tags\":[]},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"cd41c9ed-3d97-469c-aa8a-9a36c0f45a82\",\"type\":\"steps\"},{\"id\":\"102b0afe-da23-48ca-be15-699891fcbff7\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"5f48616e-52b1-4126-a255-0bd9f4820dc1\",\"type\":\"teams\"}]}}}}" }, "cookies": [], "headers": [ @@ -216,15 +216,15 @@ "status": 201, "statusText": "Created" }, - "startedDateTime": "2025-11-27T14:11:51.380Z", - "time": 456 + "startedDateTime": "2026-05-15T14:39:21.051Z", + "time": 382 }, { - "_id": "c9970e7e9ed5a6607997ac6316dafd27", + "_id": "510a9227a19ba9ba9f923515488d9c09", "_order": 0, "cache": {}, "request": { - "bodySize": 546, + "bodySize": 1186, "cookies": [], "headers": [ { @@ -238,13 +238,13 @@ "value": "application/json" } ], - "headersSize": 637, + "headersSize": 638, "httpVersion": "HTTP/1.1", "method": "PUT", "postData": { "mimeType": "application/json", "params": [], - "text": "{\"data\":{\"attributes\":{\"rules\":[{\"actions\":[{\"channel\":\"channel\",\"type\":\"send_slack_message\",\"workspace\":\"workspace\"}],\"query\":\"tags.service:test\",\"time_restriction\":{\"restrictions\":[{\"end_day\":\"monday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"},{\"end_day\":\"tuesday\",\"end_time\":\"17:00:00\",\"start_day\":\"tuesday\",\"start_time\":\"09:00:00\"}],\"time_zone\":\"Europe/Paris\"}},{\"policy_id\":\"66f0e922-2834-4d68-aa0b-98cc81fc2a9d\",\"query\":\"\",\"urgency\":\"low\"}]},\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"team_routing_rules\"}}" + "text": "{\"data\":{\"attributes\":{\"rules\":[{\"actions\":[{\"policy_id\":\"3321cfa1-8420-4655-ac38-f51ea522834e\",\"type\":\"escalation_policy\",\"urgency\":\"low\"}],\"query\":\"tags.service:time_restrictions\",\"time_restriction\":{\"restrictions\":[{\"end_day\":\"monday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"},{\"end_day\":\"tuesday\",\"end_time\":\"17:00:00\",\"start_day\":\"tuesday\",\"start_time\":\"09:00:00\"}],\"time_zone\":\"Europe/Paris\"}},{\"actions\":[{\"ack_timeout_minutes\":30,\"policy_id\":\"3321cfa1-8420-4655-ac38-f51ea522834e\",\"support_hours\":{\"restrictions\":[{\"end_day\":\"wednesday\",\"end_time\":\"17:00:00\",\"start_day\":\"wednesday\",\"start_time\":\"09:00:00\"},{\"end_day\":\"thursday\",\"end_time\":\"17:00:00\",\"start_day\":\"thursday\",\"start_time\":\"09:00:00\"}],\"time_zone\":\"Europe/Paris\"},\"type\":\"escalation_policy\",\"urgency\":\"low\"}],\"query\":\"tags.service:support_hours_and_acknowledgment_timeout\"},{\"policy_id\":\"3321cfa1-8420-4655-ac38-f51ea522834e\",\"query\":\"tags.service:legacy_policy_definition\",\"urgency\":\"low\"},{\"actions\":[{\"policy_id\":\"3321cfa1-8420-4655-ac38-f51ea522834e\",\"type\":\"escalation_policy\",\"urgency\":\"low\"}],\"query\":\"\"}]},\"id\":\"5f48616e-52b1-4126-a255-0bd9f4820dc1\",\"type\":\"team_routing_rules\"}}" }, "queryString": [ { @@ -252,14 +252,14 @@ "value": "rules" } ], - "url": "https://api.datadoghq.com/api/v2/on-call/teams/ba4fe917-0da4-4b40-96da-f9d7306d97d8/routing-rules?include=rules" + "url": "https://api.datadoghq.com/api/v2/on-call/teams/5f48616e-52b1-4126-a255-0bd9f4820dc1/routing-rules?include=rules" }, "response": { - "bodySize": 1056, + "bodySize": 2360, "content": { "mimeType": "application/vnd.api+json", - "size": 1056, - "text": "{\"data\":{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"team_routing_rules\",\"relationships\":{\"rules\":{\"data\":[{\"id\":\"virtual-ba4fe917-0da4-4b40-96da-f9d7306d97d8-rule-0\",\"type\":\"team_routing_rules\"},{\"id\":\"virtual-ba4fe917-0da4-4b40-96da-f9d7306d97d8-rule-1\",\"type\":\"team_routing_rules\"}]}}},\"included\":[{\"id\":\"virtual-ba4fe917-0da4-4b40-96da-f9d7306d97d8-rule-0\",\"type\":\"team_routing_rules\",\"attributes\":{\"actions\":[{\"type\":\"send_slack_message\",\"channel\":\"channel\",\"workspace\":\"workspace\"}],\"query\":\"tags.service:test\",\"time_restriction\":{\"time_zone\":\"Europe/Paris\",\"restrictions\":[{\"start_time\":\"09:00:00\",\"start_day\":\"monday\",\"end_time\":\"17:00:00\",\"end_day\":\"monday\"},{\"start_time\":\"09:00:00\",\"start_day\":\"tuesday\",\"end_time\":\"17:00:00\",\"end_day\":\"tuesday\"}]}},\"relationships\":{\"policy\":{\"data\":null}}},{\"id\":\"virtual-ba4fe917-0da4-4b40-96da-f9d7306d97d8-rule-1\",\"type\":\"team_routing_rules\",\"attributes\":{\"actions\":[],\"query\":\"\",\"urgency\":\"low\"},\"relationships\":{\"policy\":{\"data\":{\"id\":\"66f0e922-2834-4d68-aa0b-98cc81fc2a9d\",\"type\":\"policies\"}}}}]}" + "size": 2360, + "text": "{\"data\":{\"id\":\"5f48616e-52b1-4126-a255-0bd9f4820dc1\",\"type\":\"team_routing_rules\",\"relationships\":{\"rules\":{\"data\":[{\"id\":\"d4a7d064-0b02-4510-9412-24c95fdbef89\",\"type\":\"team_routing_rules\"},{\"id\":\"a1a5fdd6-dd2b-4571-a86c-909a89a21490\",\"type\":\"team_routing_rules\"},{\"id\":\"fdbe9494-e88c-4927-bb7e-407c0df33258\",\"type\":\"team_routing_rules\"},{\"id\":\"8e059ecb-b492-4db6-accd-6eb69b4099b1\",\"type\":\"team_routing_rules\"}]}}},\"included\":[{\"id\":\"d4a7d064-0b02-4510-9412-24c95fdbef89\",\"type\":\"team_routing_rules\",\"attributes\":{\"actions\":[{\"type\":\"escalation_policy\",\"policy_id\":\"3321cfa1-8420-4655-ac38-f51ea522834e\",\"urgency\":\"low\"}],\"query\":\"tags.service:time_restrictions\",\"time_restriction\":{\"time_zone\":\"Europe/Paris\",\"restrictions\":[{\"start_time\":\"09:00:00\",\"start_day\":\"monday\",\"end_time\":\"17:00:00\",\"end_day\":\"monday\"},{\"start_time\":\"09:00:00\",\"start_day\":\"tuesday\",\"end_time\":\"17:00:00\",\"end_day\":\"tuesday\"}]},\"urgency\":\"low\"},\"relationships\":{\"policy\":{\"data\":{\"id\":\"3321cfa1-8420-4655-ac38-f51ea522834e\",\"type\":\"policies\"}}}},{\"id\":\"a1a5fdd6-dd2b-4571-a86c-909a89a21490\",\"type\":\"team_routing_rules\",\"attributes\":{\"actions\":[{\"type\":\"escalation_policy\",\"policy_id\":\"3321cfa1-8420-4655-ac38-f51ea522834e\",\"support_hours\":{\"time_zone\":\"Europe/Paris\",\"restrictions\":[{\"start_time\":\"09:00:00\",\"start_day\":\"wednesday\",\"end_time\":\"17:00:00\",\"end_day\":\"wednesday\"},{\"start_time\":\"09:00:00\",\"start_day\":\"thursday\",\"end_time\":\"17:00:00\",\"end_day\":\"thursday\"}]},\"ack_timeout_minutes\":30,\"urgency\":\"low\"}],\"query\":\"tags.service:support_hours_and_acknowledgment_timeout\",\"urgency\":\"low\"},\"relationships\":{\"policy\":{\"data\":{\"id\":\"3321cfa1-8420-4655-ac38-f51ea522834e\",\"type\":\"policies\"}}}},{\"id\":\"fdbe9494-e88c-4927-bb7e-407c0df33258\",\"type\":\"team_routing_rules\",\"attributes\":{\"actions\":[{\"type\":\"escalation_policy\",\"policy_id\":\"3321cfa1-8420-4655-ac38-f51ea522834e\",\"urgency\":\"low\"}],\"query\":\"tags.service:legacy_policy_definition\",\"urgency\":\"low\"},\"relationships\":{\"policy\":{\"data\":{\"id\":\"3321cfa1-8420-4655-ac38-f51ea522834e\",\"type\":\"policies\"}}}},{\"id\":\"8e059ecb-b492-4db6-accd-6eb69b4099b1\",\"type\":\"team_routing_rules\",\"attributes\":{\"actions\":[{\"type\":\"escalation_policy\",\"policy_id\":\"3321cfa1-8420-4655-ac38-f51ea522834e\",\"urgency\":\"low\"}],\"query\":\"\",\"urgency\":\"low\"},\"relationships\":{\"policy\":{\"data\":{\"id\":\"3321cfa1-8420-4655-ac38-f51ea522834e\",\"type\":\"policies\"}}}}]}" }, "cookies": [], "headers": [ @@ -274,11 +274,11 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2025-11-27T14:11:51.847Z", - "time": 442 + "startedDateTime": "2026-05-15T14:39:21.441Z", + "time": 373 }, { - "_id": "8e16cbe74c6d421444df932c13079e00", + "_id": "6ebcacdb0c746e64ac135c6e46c00839", "_order": 0, "cache": {}, "request": { @@ -296,23 +296,23 @@ "value": "application/json" } ], - "headersSize": 623, + "headersSize": 622, "httpVersion": "HTTP/1.1", "method": "PUT", "postData": { "mimeType": "application/json", "params": [], - "text": "{\"data\":{\"attributes\":{\"rules\":[]},\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"team_routing_rules\"}}" + "text": "{\"data\":{\"attributes\":{\"rules\":[]},\"id\":\"5f48616e-52b1-4126-a255-0bd9f4820dc1\",\"type\":\"team_routing_rules\"}}" }, "queryString": [], - "url": "https://api.datadoghq.com/api/v2/on-call/teams/ba4fe917-0da4-4b40-96da-f9d7306d97d8/routing-rules" + "url": "https://api.datadoghq.com/api/v2/on-call/teams/5f48616e-52b1-4126-a255-0bd9f4820dc1/routing-rules" }, "response": { "bodySize": 120, "content": { "mimeType": "application/vnd.api+json", "size": 120, - "text": "{\"data\":{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"team_routing_rules\",\"relationships\":{\"rules\":{\"data\":[]}}}}" + "text": "{\"data\":{\"id\":\"5f48616e-52b1-4126-a255-0bd9f4820dc1\",\"type\":\"team_routing_rules\",\"relationships\":{\"rules\":{\"data\":[]}}}}" }, "cookies": [], "headers": [ @@ -327,11 +327,11 @@ "status": 200, "statusText": "OK" }, - "startedDateTime": "2025-11-27T14:11:52.295Z", - "time": 444 + "startedDateTime": "2026-05-15T14:39:21.820Z", + "time": 417 }, { - "_id": "c26189d3750889a7a4fd05c9a5d03ce7", + "_id": "c83fe34f56124955ff2975a27c33ffb5", "_order": 0, "cache": {}, "request": { @@ -348,7 +348,7 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/on-call/escalation-policies/66f0e922-2834-4d68-aa0b-98cc81fc2a9d" + "url": "https://api.datadoghq.com/api/v2/on-call/escalation-policies/3321cfa1-8420-4655-ac38-f51ea522834e" }, "response": { "bodySize": 0, @@ -364,11 +364,11 @@ "status": 204, "statusText": "No Content" }, - "startedDateTime": "2025-11-27T14:11:52.745Z", - "time": 410 + "startedDateTime": "2026-05-15T14:39:22.240Z", + "time": 360 }, { - "_id": "13fd1a4c62032e806486f8eaa339c28b", + "_id": "524ae06e2641fdbb731be84d07bb8e83", "_order": 0, "cache": {}, "request": { @@ -385,7 +385,7 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/on-call/schedules/1f9b0595-17a3-4d95-9b2e-edcea3b6e737" + "url": "https://api.datadoghq.com/api/v2/on-call/schedules/6417bbaa-a75e-474d-a45a-9af8e1a3907a" }, "response": { "bodySize": 0, @@ -401,11 +401,11 @@ "status": 204, "statusText": "No Content" }, - "startedDateTime": "2025-11-27T14:11:53.162Z", - "time": 421 + "startedDateTime": "2026-05-15T14:39:22.604Z", + "time": 376 }, { - "_id": "8c75ecab4d74a2b69dbcdad49c49345c", + "_id": "c6463402e42332f3c2cdc8da3fe3e9da", "_order": 0, "cache": {}, "request": { @@ -422,7 +422,7 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/team/ba4fe917-0da4-4b40-96da-f9d7306d97d8" + "url": "https://api.datadoghq.com/api/v2/team/5f48616e-52b1-4126-a255-0bd9f4820dc1" }, "response": { "bodySize": 0, @@ -432,17 +432,17 @@ }, "cookies": [], "headers": [], - "headersSize": 631, + "headersSize": 632, "httpVersion": "HTTP/1.1", "redirectURL": "", "status": 204, "statusText": "No Content" }, - "startedDateTime": "2025-11-27T14:11:53.587Z", - "time": 545 + "startedDateTime": "2026-05-15T14:39:22.982Z", + "time": 471 }, { - "_id": "96fcc6280c00501e78b9d3212c0190a8", + "_id": "bf3c22bad78db8945df5e00aa959145d", "_order": 0, "cache": {}, "request": { @@ -459,7 +459,7 @@ "httpVersion": "HTTP/1.1", "method": "DELETE", "queryString": [], - "url": "https://api.datadoghq.com/api/v2/users/0473ca92-cb9b-11f0-85f9-9a82ffe01443" + "url": "https://api.datadoghq.com/api/v2/users/af4cfd73-8162-49c3-899a-101d0617d500" }, "response": { "bodySize": 0, @@ -475,8 +475,8 @@ "status": 204, "statusText": "No Content" }, - "startedDateTime": "2025-11-27T14:11:54.138Z", - "time": 611 + "startedDateTime": "2026-05-15T14:39:23.456Z", + "time": 607 } ], "pages": [], diff --git a/features/v2/on-call.feature b/features/v2/on-call.feature index 0f4b2a0e3402..a4ea9a7c4f08 100644 --- a/features/v2/on-call.feature +++ b/features/v2/on-call.feature @@ -401,7 +401,7 @@ Feature: On-Call And there is a valid "schedule" in the system And there is a valid "escalation_policy" in the system And request contains "team_id" parameter from "dd_team.data.id" - And body with value {"data": {"attributes": {"rules": [{"actions": [{"channel": "channel", "type": "send_slack_message", "workspace": "workspace"}], "query": "tags.service:test", "time_restriction": {"time_zone": "Europe/Paris", "restrictions": [{"end_day": "monday", "end_time": "17:00:00", "start_day": "monday", "start_time": "09:00:00"}, {"end_day": "tuesday", "end_time": "17:00:00", "start_day": "tuesday", "start_time": "09:00:00"}]}}, {"policy_id": "{{ escalation_policy.data.id }}", "query": "", "urgency": "low"}]}, "id": "{{ dd_team.data.id }}", "type": "team_routing_rules"}} + And body with value {"data": {"attributes": {"rules": [{"actions": [{"type": "escalation_policy", "policy_id": "{{ escalation_policy.data.id }}", "urgency": "low"}], "query": "tags.service:time_restrictions", "time_restriction": {"time_zone": "Europe/Paris", "restrictions": [{"end_day": "monday", "end_time": "17:00:00", "start_day": "monday", "start_time": "09:00:00"}, {"end_day": "tuesday", "end_time": "17:00:00", "start_day": "tuesday", "start_time": "09:00:00"}]}}, {"actions": [{"type": "escalation_policy", "policy_id": "{{ escalation_policy.data.id }}", "urgency": "low", "ack_timeout_minutes": 30, "support_hours": {"time_zone": "Europe/Paris", "restrictions": [{"end_day": "wednesday", "end_time": "17:00:00", "start_day": "wednesday", "start_time": "09:00:00"}, {"end_day": "thursday", "end_time": "17:00:00", "start_day": "thursday", "start_time": "09:00:00"}]}}], "query": "tags.service:support_hours_and_acknowledgment_timeout"}, {"policy_id": "{{ escalation_policy.data.id }}", "query": "tags.service:legacy_policy_definition", "urgency": "low"}, {"actions": [{"type": "escalation_policy", "policy_id": "{{ escalation_policy.data.id }}", "urgency": "low"}], "query": ""}]}, "id": "{{ dd_team.data.id }}", "type": "team_routing_rules"}} And request contains "include" parameter with value "rules" When the request is sent Then the response status is 200 OK diff --git a/services/on_call/src/v2/index.ts b/services/on_call/src/v2/index.ts index 91adae9c1f9e..5591484777a3 100644 --- a/services/on_call/src/v2/index.ts +++ b/services/on_call/src/v2/index.ts @@ -129,6 +129,9 @@ export { RolesType } from "./models/RolesType"; export { RoutingRule } from "./models/RoutingRule"; export { RoutingRuleAction } from "./models/RoutingRuleAction"; export { RoutingRuleAttributes } from "./models/RoutingRuleAttributes"; +export { RoutingRuleEscalationPolicyAction } from "./models/RoutingRuleEscalationPolicyAction"; +export { RoutingRuleEscalationPolicyActionSupportHours } from "./models/RoutingRuleEscalationPolicyActionSupportHours"; +export { RoutingRuleEscalationPolicyActionType } from "./models/RoutingRuleEscalationPolicyActionType"; export { RoutingRuleRelationships } from "./models/RoutingRuleRelationships"; export { RoutingRuleRelationshipsPolicy } from "./models/RoutingRuleRelationshipsPolicy"; export { RoutingRuleRelationshipsPolicyData } from "./models/RoutingRuleRelationshipsPolicyData"; diff --git a/services/on_call/src/v2/models/RoutingRuleAction.ts b/services/on_call/src/v2/models/RoutingRuleAction.ts index 063d559c66dd..98df2e828e64 100644 --- a/services/on_call/src/v2/models/RoutingRuleAction.ts +++ b/services/on_call/src/v2/models/RoutingRuleAction.ts @@ -1,5 +1,6 @@ import { UnparsedObject } from "@datadog/datadog-api-client"; +import { RoutingRuleEscalationPolicyAction } from "./RoutingRuleEscalationPolicyAction"; import { SendSlackMessageAction } from "./SendSlackMessageAction"; import { SendTeamsMessageAction } from "./SendTeamsMessageAction"; import { TriggerWorkflowAutomationAction } from "./TriggerWorkflowAutomationAction"; @@ -11,4 +12,5 @@ export type RoutingRuleAction = | SendSlackMessageAction | SendTeamsMessageAction | TriggerWorkflowAutomationAction + | RoutingRuleEscalationPolicyAction | UnparsedObject; diff --git a/services/on_call/src/v2/models/RoutingRuleAttributes.ts b/services/on_call/src/v2/models/RoutingRuleAttributes.ts index f78f0a8ee42c..866807757e19 100644 --- a/services/on_call/src/v2/models/RoutingRuleAttributes.ts +++ b/services/on_call/src/v2/models/RoutingRuleAttributes.ts @@ -17,7 +17,7 @@ export class RoutingRuleAttributes { */ "query"?: string; /** - * Holds time zone information and a list of time restrictions for a routing rule. + * Time restrictions during which the routing rule is active. Outside of these hours, the rule does not match and routing continues to subsequent rules. This is mutually exclusive with the action-level `support_hours` field. */ "timeRestriction"?: TimeRestrictions; /** diff --git a/services/on_call/src/v2/models/RoutingRuleEscalationPolicyAction.ts b/services/on_call/src/v2/models/RoutingRuleEscalationPolicyAction.ts new file mode 100644 index 000000000000..70a104fc4b8d --- /dev/null +++ b/services/on_call/src/v2/models/RoutingRuleEscalationPolicyAction.ts @@ -0,0 +1,83 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { RoutingRuleEscalationPolicyActionSupportHours } from "./RoutingRuleEscalationPolicyActionSupportHours"; +import { RoutingRuleEscalationPolicyActionType } from "./RoutingRuleEscalationPolicyActionType"; +import { Urgency } from "./Urgency"; + +/** + * Triggers an escalation policy. + */ +export class RoutingRuleEscalationPolicyAction { + /** + * The number of minutes before an acknowledged page is re-triggered. + */ + "ackTimeoutMinutes"?: number; + /** + * The ID of the escalation policy to route to. + */ + "policyId": string; + /** + * Support hours during which the escalation policy will be executed. Outside of these hours, the escalation policy will be on hold and triggered once the next support hours window starts. This is mutually exclusive with the top-level `time_restriction` field on the routing rule. + */ + "supportHours"?: RoutingRuleEscalationPolicyActionSupportHours; + /** + * Indicates that the action pages an escalation policy. This action can be set once per routing rule item, and is mutually exclusive with the top-level `policy_id` field on the routing rule. + */ + "type": RoutingRuleEscalationPolicyActionType; + /** + * Specifies the level of urgency for a routing rule (low, high, or dynamic). + */ + "urgency"?: Urgency; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + ackTimeoutMinutes: { + baseName: "ack_timeout_minutes", + type: "number", + format: "int64", + }, + policyId: { + baseName: "policy_id", + type: "string", + required: true, + }, + supportHours: { + baseName: "support_hours", + type: "RoutingRuleEscalationPolicyActionSupportHours", + }, + type: { + baseName: "type", + type: "RoutingRuleEscalationPolicyActionType", + required: true, + }, + urgency: { + baseName: "urgency", + type: "Urgency", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RoutingRuleEscalationPolicyAction.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/on_call/src/v2/models/RoutingRuleEscalationPolicyActionSupportHours.ts b/services/on_call/src/v2/models/RoutingRuleEscalationPolicyActionSupportHours.ts new file mode 100644 index 000000000000..77cd169e830f --- /dev/null +++ b/services/on_call/src/v2/models/RoutingRuleEscalationPolicyActionSupportHours.ts @@ -0,0 +1,55 @@ +import { AttributeTypeMap } from "@datadog/datadog-api-client"; + +import { TimeRestriction } from "./TimeRestriction"; + +/** + * Support hours during which the escalation policy will be executed. Outside of these hours, the escalation policy will be on hold and triggered once the next support hours window starts. This is mutually exclusive with the top-level `time_restriction` field on the routing rule. + */ +export class RoutingRuleEscalationPolicyActionSupportHours { + /** + * The list of support hours time windows. + */ + "restrictions"?: Array; + /** + * The time zone in which the support hours are expressed. + */ + "timeZone": string; + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + restrictions: { + baseName: "restrictions", + type: "Array", + }, + timeZone: { + baseName: "time_zone", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return RoutingRuleEscalationPolicyActionSupportHours.attributeTypeMap; + } + + public constructor() {} +} diff --git a/services/on_call/src/v2/models/RoutingRuleEscalationPolicyActionType.ts b/services/on_call/src/v2/models/RoutingRuleEscalationPolicyActionType.ts new file mode 100644 index 000000000000..1d8d31b02580 --- /dev/null +++ b/services/on_call/src/v2/models/RoutingRuleEscalationPolicyActionType.ts @@ -0,0 +1,9 @@ +import { UnparsedObject } from "@datadog/datadog-api-client"; + +/** + * Indicates that the action pages an escalation policy. This action can be set once per routing rule item, and is mutually exclusive with the top-level `policy_id` field on the routing rule. + */ +export type RoutingRuleEscalationPolicyActionType = + | typeof ESCALATION_POLICY + | UnparsedObject; +export const ESCALATION_POLICY = "escalation_policy"; diff --git a/services/on_call/src/v2/models/TeamRoutingRulesRequestRule.ts b/services/on_call/src/v2/models/TeamRoutingRulesRequestRule.ts index 2bbfb96a93ce..27a3275ba8fc 100644 --- a/services/on_call/src/v2/models/TeamRoutingRulesRequestRule.ts +++ b/services/on_call/src/v2/models/TeamRoutingRulesRequestRule.ts @@ -21,7 +21,7 @@ export class TeamRoutingRulesRequestRule { */ "query"?: string; /** - * Holds time zone information and a list of time restrictions for a routing rule. + * Time restrictions during which the routing rule is active. Outside of these hours, the rule does not match and routing continues to subsequent rules. This is mutually exclusive with the action-level `support_hours` field. */ "timeRestriction"?: TimeRestrictions; /** diff --git a/services/on_call/src/v2/models/TimeRestrictions.ts b/services/on_call/src/v2/models/TimeRestrictions.ts index 4717e24e7454..2e0f03eb3fc9 100644 --- a/services/on_call/src/v2/models/TimeRestrictions.ts +++ b/services/on_call/src/v2/models/TimeRestrictions.ts @@ -3,7 +3,7 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client"; import { TimeRestriction } from "./TimeRestriction"; /** - * Holds time zone information and a list of time restrictions for a routing rule. + * Time restrictions during which the routing rule is active. Outside of these hours, the rule does not match and routing continues to subsequent rules. This is mutually exclusive with the action-level `support_hours` field. */ export class TimeRestrictions { /** diff --git a/services/on_call/src/v2/models/TypingInfo.ts b/services/on_call/src/v2/models/TypingInfo.ts index a157eb579a6a..f5c033d0d2ce 100644 --- a/services/on_call/src/v2/models/TypingInfo.ts +++ b/services/on_call/src/v2/models/TypingInfo.ts @@ -75,6 +75,8 @@ import { RelationshipToUserData } from "./RelationshipToUserData"; import { RelationshipToUsers } from "./RelationshipToUsers"; import { RoutingRule } from "./RoutingRule"; import { RoutingRuleAttributes } from "./RoutingRuleAttributes"; +import { RoutingRuleEscalationPolicyAction } from "./RoutingRuleEscalationPolicyAction"; +import { RoutingRuleEscalationPolicyActionSupportHours } from "./RoutingRuleEscalationPolicyActionSupportHours"; import { RoutingRuleRelationships } from "./RoutingRuleRelationships"; import { RoutingRuleRelationshipsPolicy } from "./RoutingRuleRelationshipsPolicy"; import { RoutingRuleRelationshipsPolicyData } from "./RoutingRuleRelationshipsPolicyData"; @@ -167,6 +169,7 @@ export const TypingInfo: ModelTypingInfo = { OnCallPhoneNotificationRuleMethod: ["sms", "voice"], OrganizationsType: ["orgs"], RolesType: ["roles"], + RoutingRuleEscalationPolicyActionType: ["escalation_policy"], RoutingRuleRelationshipsPolicyDataType: ["policies"], RoutingRuleType: ["team_routing_rules"], ScheduleCreateRequestDataType: ["schedules"], @@ -238,6 +241,7 @@ export const TypingInfo: ModelTypingInfo = { "SendSlackMessageAction", "SendTeamsMessageAction", "TriggerWorkflowAutomationAction", + "RoutingRuleEscalationPolicyAction", ], ScheduleDataIncludedItem: [ "TeamReference", @@ -341,6 +345,9 @@ export const TypingInfo: ModelTypingInfo = { RelationshipToUsers: RelationshipToUsers, RoutingRule: RoutingRule, RoutingRuleAttributes: RoutingRuleAttributes, + RoutingRuleEscalationPolicyAction: RoutingRuleEscalationPolicyAction, + RoutingRuleEscalationPolicyActionSupportHours: + RoutingRuleEscalationPolicyActionSupportHours, RoutingRuleRelationships: RoutingRuleRelationships, RoutingRuleRelationshipsPolicy: RoutingRuleRelationshipsPolicy, RoutingRuleRelationshipsPolicyData: RoutingRuleRelationshipsPolicyData,