From 6378eae3953f95c1ab96e2037b9e742bc6e3a363 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Thu, 19 Feb 2026 11:19:07 +0000 Subject: [PATCH] Regenerate client from commit 8d04493 of spec repo --- .generator/schemas/v2/openapi.yaml | 100 +++++++++--------- .../v2/dora-metrics/CreateDORAFailure.java | 2 +- .../v2/dora-metrics/CreateDORAIncident.java | 2 +- .../v2/dora-metrics/DeleteDORAFailure.java | 4 +- .../DeleteDORAFailure_3462074974.java | 22 ++++ examples/v2/dora-metrics/GetDORAFailure.java | 2 +- .../v2/dora-metrics/ListDORAFailures.java | 10 +- .../ListDORAFailures_3269988848.java | 40 +++++++ .../api/client/v2/api/DoraMetricsApi.java | 72 +++++++------ .../model/DORADeploymentPatchRemediation.java | 30 +++--- .../DORADeploymentPatchRemediationType.java | 5 +- .../DORADeploymentPatchRequestAttributes.java | 3 +- .../v2/model/DORAFailureFetchResponse.java | 2 +- .../client/v2/model/DORAFailureRequest.java | 2 +- .../model/DORAFailureRequestAttributes.java | 16 +-- .../v2/model/DORAFailureRequestData.java | 2 +- .../client/v2/model/DORAFailureResponse.java | 4 +- .../v2/model/DORAFailureResponseData.java | 6 +- .../api/client/v2/model/DORAFailureType.java | 2 +- .../v2/model/DORAFailuresListResponse.java | 2 +- .../client/v2/model/DORAIncidentObject.java | 2 +- .../v2/model/DORAListFailuresRequest.java | 2 +- .../DORAListFailuresRequestAttributes.java | 2 +- .../v2/model/DORAListFailuresRequestData.java | 2 +- .../api/client/v2/api/dora_metrics.feature | 90 ++++++++++++---- 25 files changed, 269 insertions(+), 157 deletions(-) create mode 100644 examples/v2/dora-metrics/DeleteDORAFailure_3462074974.java create mode 100644 examples/v2/dora-metrics/ListDORAFailures_3269988848.java diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index b9a63afce0a..b01929137f5 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -17794,20 +17794,20 @@ components: - finished_at type: object DORADeploymentPatchRemediation: - description: Remediation details for the deployment. + description: Remediation details for the deployment. Optional, but required + to calculate failed deployment recovery time. properties: id: - description: The ID of the remediation action. + description: The ID of the remediation deployment. Required when the failed + deployment must be linked to a remediation deployment. example: eG42zNIkVjM type: string type: $ref: '#/components/schemas/DORADeploymentPatchRemediationType' - required: - - id - - type type: object DORADeploymentPatchRemediationType: - description: The type of remediation action taken. + description: The type of remediation action taken. Required when the failed + deployment must be linked to a remediation deployment. enum: - rollback - rollforward @@ -18011,13 +18011,13 @@ components: type: array type: object DORAFailureFetchResponse: - description: Response for fetching a single failure event. + description: Response for fetching a single incident event. properties: data: $ref: '#/components/schemas/DORAIncidentObject' type: object DORAFailureRequest: - description: Request to create a DORA failure event. + description: Request to create a DORA incident event. properties: data: $ref: '#/components/schemas/DORAFailureRequestData' @@ -18025,16 +18025,16 @@ components: - data type: object DORAFailureRequestAttributes: - description: Attributes to create a DORA failure event. + description: Attributes to create a DORA incident event. properties: custom_tags: $ref: '#/components/schemas/DORACustomTags' env: - description: Environment name that was impacted by the failure. + description: Environment name that was impacted by the incident. example: staging type: string finished_at: - description: Unix timestamp when the failure finished. It must be in nanoseconds, + description: Unix timestamp when the incident finished. It must be in nanoseconds, milliseconds, or seconds. example: 1693491984000000000 format: int64 @@ -18042,16 +18042,16 @@ components: git: $ref: '#/components/schemas/DORAGitInfo' id: - description: Failure ID. Must be 16-128 characters and contain only alphanumeric + description: Incident ID. Must be 16-128 characters and contain only alphanumeric characters, hyphens, underscores, periods, and colons (a-z, A-Z, 0-9, -, _, ., :). type: string name: - description: Failure name. + description: Incident name. example: Webserver is down failing all requests. type: string services: - description: Service names impacted by the failure. If possible, use names + description: Service names impacted by the incident. If possible, use names registered in the Service Catalog. Required when the team field is not provided. example: @@ -18060,11 +18060,11 @@ components: type: string type: array severity: - description: Failure severity. + description: Incident severity. example: High type: string started_at: - description: Unix timestamp when the failure started. It must be in nanoseconds, + description: Unix timestamp when the incident started. It must be in nanoseconds, milliseconds, or seconds. example: 1693491974000000000 format: int64 @@ -18091,7 +18091,7 @@ components: - attributes type: object DORAFailureResponse: - description: Response after receiving a DORA failure event. + description: Response after receiving a DORA incident event. properties: data: $ref: '#/components/schemas/DORAFailureResponseData' @@ -18099,10 +18099,10 @@ components: - data type: object DORAFailureResponseData: - description: Response after receiving a DORA failure event. + description: Response after receiving a DORA incident event. properties: id: - description: The ID of the received DORA failure event. + description: The ID of the received DORA incident event. example: 4242fcdd31586083 type: string type: @@ -18112,7 +18112,7 @@ components: type: object DORAFailureType: default: dora_failure - description: JSON:API type for DORA failure events. + description: JSON:API type for DORA incident events. enum: - dora_failure example: dora_failure @@ -18120,7 +18120,7 @@ components: x-enum-varnames: - DORA_FAILURE DORAFailuresListResponse: - description: Response for the list failures endpoint. + description: Response for the list incidents endpoint. example: data: - attributes: @@ -18254,7 +18254,7 @@ components: from: '2025-01-01T00:00:00Z' limit: 100 query: service:(shopist OR api-service) env:production team:backend - sort: -started_at + sort: -finished_at to: '2025-01-31T23:59:59Z' type: dora_deployments_list_request properties: @@ -18285,7 +18285,7 @@ components: type: string sort: description: Sort order (prefixed with `-` for descending). - example: -started_at + example: -finished_at type: string to: description: Maximum timestamp for requested events. @@ -18321,7 +18321,7 @@ components: x-enum-varnames: - DORA_DEPLOYMENTS_LIST_REQUEST DORAListFailuresRequest: - description: Request to get a list of failures. + description: Request to get a list of incidents. example: data: attributes: @@ -18338,7 +18338,7 @@ components: - data type: object DORAListFailuresRequestAttributes: - description: Attributes to get a list of failures. + description: Attributes to get a list of incidents. properties: from: description: Minimum timestamp for requested events. @@ -77825,7 +77825,9 @@ paths: - Change Lead Time - - Change Failure Rate' + - Change Failure Rate + + - Failed Deployment Recovery Time' operationId: CreateDORADeployment requestBody: content: @@ -77974,7 +77976,9 @@ paths: permissions: - dora_metrics_read patch: - description: Use this API endpoint to patch a deployment event. + description: Update a deployment's change failure status. Use this to mark a + deployment as a change failure or back to stable. You can optionally include + remediation details to enable failed deployment recovery time calculation. operationId: PatchDORADeployment parameters: - description: The ID of the deployment event. @@ -78015,14 +78019,14 @@ paths: - dora_metrics_write /api/v2/dora/failure: post: - description: 'Use this API endpoint to provide failure data. + description: 'Use this API endpoint to provide incident data for DORA Metrics. + Note that change failure rate and failed deployment recovery time are computed + from change failures detected on deployments, not from incident events sent + through this endpoint. - This is necessary for: - - - Change Failure Rate - - - Time to Restore' + Tracking incidents gives a side-by-side view of how failed deployments translate + into real-world incidents, including their severity and frequency.' operationId: CreateDORAFailure requestBody: content: @@ -78055,16 +78059,16 @@ paths: $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] - summary: Send a failure event + summary: Send an incident event tags: - DORA Metrics x-codegen-request-body-name: body /api/v2/dora/failure/{failure_id}: delete: - description: Use this API endpoint to delete a failure event. + description: Use this API endpoint to delete an incident event. operationId: DeleteDORAFailure parameters: - - description: The ID of the failure event to delete. + - description: The ID of the incident event to delete. in: path name: failure_id required: true @@ -78086,7 +78090,7 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - summary: Delete a failure event + summary: Delete an incident event tags: - DORA Metrics x-permission: @@ -78095,7 +78099,7 @@ paths: - dora_metrics_write /api/v2/dora/failures: post: - description: Use this API endpoint to get a list of failure events. + description: Use this API endpoint to get a list of incident events. operationId: ListDORAFailures requestBody: content: @@ -78123,7 +78127,7 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - summary: Get a list of failure events + summary: Get a list of incident events tags: - DORA Metrics x-codegen-request-body-name: body @@ -78133,10 +78137,10 @@ paths: - dora_metrics_read /api/v2/dora/failures/{failure_id}: get: - description: Use this API endpoint to get a failure event. + description: Use this API endpoint to get an incident event. operationId: GetDORAFailure parameters: - - description: The ID of the failure event. + - description: The ID of the incident event. in: path name: failure_id required: true @@ -78162,7 +78166,7 @@ paths: security: - apiKeyAuth: [] appKeyAuth: [] - summary: Get a failure event + summary: Get an incident event tags: - DORA Metrics x-codegen-request-body-name: body @@ -78177,14 +78181,10 @@ paths: instead. - Use this API endpoint to provide failure data. - + Use this API endpoint to provide incident data. - This is necessary for: - - - Change Failure Rate - - - Time to Restore' + Tracking incidents gives a side-by-side view of how failed deployments translate + into real-world incidents.' operationId: CreateDORAIncident requestBody: content: @@ -78217,7 +78217,7 @@ paths: $ref: '#/components/responses/TooManyRequestsResponse' security: - apiKeyAuth: [] - summary: Send an incident event + summary: Send an incident event (legacy) tags: - DORA Metrics x-codegen-request-body-name: body diff --git a/examples/v2/dora-metrics/CreateDORAFailure.java b/examples/v2/dora-metrics/CreateDORAFailure.java index 52522e81d45..1bd07d0f821 100644 --- a/examples/v2/dora-metrics/CreateDORAFailure.java +++ b/examples/v2/dora-metrics/CreateDORAFailure.java @@ -1,4 +1,4 @@ -// Send a failure event returns "OK - but delayed due to incident" response +// Send an incident event returns "OK" response import com.datadog.api.client.ApiClient; import com.datadog.api.client.ApiException; diff --git a/examples/v2/dora-metrics/CreateDORAIncident.java b/examples/v2/dora-metrics/CreateDORAIncident.java index 2be6baf0e44..ea317ea7683 100644 --- a/examples/v2/dora-metrics/CreateDORAIncident.java +++ b/examples/v2/dora-metrics/CreateDORAIncident.java @@ -1,4 +1,4 @@ -// Send an incident event returns "OK" response +// Send an incident event (legacy) returns "OK" response import com.datadog.api.client.ApiClient; import com.datadog.api.client.ApiException; diff --git a/examples/v2/dora-metrics/DeleteDORAFailure.java b/examples/v2/dora-metrics/DeleteDORAFailure.java index 29954540b22..fc4129940e9 100644 --- a/examples/v2/dora-metrics/DeleteDORAFailure.java +++ b/examples/v2/dora-metrics/DeleteDORAFailure.java @@ -1,4 +1,4 @@ -// Delete a failure event returns "Accepted" response +// Delete an incident event returns "Accepted" response import com.datadog.api.client.ApiClient; import com.datadog.api.client.ApiException; @@ -10,7 +10,7 @@ public static void main(String[] args) { DoraMetricsApi apiInstance = new DoraMetricsApi(defaultClient); try { - apiInstance.deleteDORAFailure("NO_VALUE"); + apiInstance.deleteDORAFailure("failure_id"); } catch (ApiException e) { System.err.println("Exception when calling DoraMetricsApi#deleteDORAFailure"); System.err.println("Status code: " + e.getCode()); diff --git a/examples/v2/dora-metrics/DeleteDORAFailure_3462074974.java b/examples/v2/dora-metrics/DeleteDORAFailure_3462074974.java new file mode 100644 index 00000000000..29954540b22 --- /dev/null +++ b/examples/v2/dora-metrics/DeleteDORAFailure_3462074974.java @@ -0,0 +1,22 @@ +// Delete a failure event returns "Accepted" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.DoraMetricsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + DoraMetricsApi apiInstance = new DoraMetricsApi(defaultClient); + + try { + apiInstance.deleteDORAFailure("NO_VALUE"); + } catch (ApiException e) { + System.err.println("Exception when calling DoraMetricsApi#deleteDORAFailure"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/dora-metrics/GetDORAFailure.java b/examples/v2/dora-metrics/GetDORAFailure.java index 8f6c063febf..755c5dc7993 100644 --- a/examples/v2/dora-metrics/GetDORAFailure.java +++ b/examples/v2/dora-metrics/GetDORAFailure.java @@ -1,4 +1,4 @@ -// Get a failure event returns "OK" response +// Get an incident event returns "OK" response import com.datadog.api.client.ApiClient; import com.datadog.api.client.ApiException; diff --git a/examples/v2/dora-metrics/ListDORAFailures.java b/examples/v2/dora-metrics/ListDORAFailures.java index 555266cd1eb..8116fdbd534 100644 --- a/examples/v2/dora-metrics/ListDORAFailures.java +++ b/examples/v2/dora-metrics/ListDORAFailures.java @@ -1,4 +1,4 @@ -// Get a list of failure events returns "OK" response +// Get a list of incident events returns "OK" response import com.datadog.api.client.ApiClient; import com.datadog.api.client.ApiException; @@ -21,9 +21,11 @@ public static void main(String[] args) { new DORAListFailuresRequestData() .attributes( new DORAListFailuresRequestAttributes() - .from(OffsetDateTime.parse("2025-03-23T00:00:00Z")) - .limit(1) - .to(OffsetDateTime.parse("2025-03-24T00:00:00Z"))) + .from(OffsetDateTime.parse("2025-01-01T00:00:00Z")) + .limit(100) + .query("severity:(SEV-1 OR SEV-2) env:production team:backend") + .sort("-started_at") + .to(OffsetDateTime.parse("2025-01-31T23:59:59Z"))) .type(DORAListFailuresRequestDataType.DORA_FAILURES_LIST_REQUEST)); try { diff --git a/examples/v2/dora-metrics/ListDORAFailures_3269988848.java b/examples/v2/dora-metrics/ListDORAFailures_3269988848.java new file mode 100644 index 00000000000..555266cd1eb --- /dev/null +++ b/examples/v2/dora-metrics/ListDORAFailures_3269988848.java @@ -0,0 +1,40 @@ +// Get a list of failure events returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.DoraMetricsApi; +import com.datadog.api.client.v2.model.DORAFailuresListResponse; +import com.datadog.api.client.v2.model.DORAListFailuresRequest; +import com.datadog.api.client.v2.model.DORAListFailuresRequestAttributes; +import com.datadog.api.client.v2.model.DORAListFailuresRequestData; +import com.datadog.api.client.v2.model.DORAListFailuresRequestDataType; +import java.time.OffsetDateTime; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + DoraMetricsApi apiInstance = new DoraMetricsApi(defaultClient); + + DORAListFailuresRequest body = + new DORAListFailuresRequest() + .data( + new DORAListFailuresRequestData() + .attributes( + new DORAListFailuresRequestAttributes() + .from(OffsetDateTime.parse("2025-03-23T00:00:00Z")) + .limit(1) + .to(OffsetDateTime.parse("2025-03-24T00:00:00Z"))) + .type(DORAListFailuresRequestDataType.DORA_FAILURES_LIST_REQUEST)); + + try { + DORAFailuresListResponse result = apiInstance.listDORAFailures(body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling DoraMetricsApi#listDORAFailures"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/datadog/api/client/v2/api/DoraMetricsApi.java b/src/main/java/com/datadog/api/client/v2/api/DoraMetricsApi.java index bfa248c3bd6..e9849140fce 100644 --- a/src/main/java/com/datadog/api/client/v2/api/DoraMetricsApi.java +++ b/src/main/java/com/datadog/api/client/v2/api/DoraMetricsApi.java @@ -87,7 +87,8 @@ public CompletableFuture createDORADeploymentAsync( /** * Use this API endpoint to provide deployment data. * - *

This is necessary for: - Deployment Frequency - Change Lead Time - Change Failure Rate + *

This is necessary for: - Deployment Frequency - Change Lead Time - Change Failure Rate - + * Failed Deployment Recovery Time * * @param body (required) * @return ApiResponse<DORADeploymentResponse> @@ -190,7 +191,7 @@ public ApiResponse createDORADeploymentWithHttpInfo( } /** - * Send a failure event. + * Send an incident event. * *

See {@link #createDORAFailureWithHttpInfo}. * @@ -203,7 +204,7 @@ public DORAFailureResponse createDORAFailure(DORAFailureRequest body) throws Api } /** - * Send a failure event. + * Send an incident event. * *

See {@link #createDORAFailureWithHttpInfoAsync}. * @@ -219,9 +220,11 @@ public CompletableFuture createDORAFailureAsync(DORAFailure } /** - * Use this API endpoint to provide failure data. - * - *

This is necessary for: - Change Failure Rate - Time to Restore + * Use this API endpoint to provide incident data for DORA Metrics. Note that change failure rate + * and failed deployment recovery time are computed from change failures detected on deployments, + * not from incident events sent through this endpoint. Tracking incidents gives a side-by-side + * view of how failed deployments translate into real-world incidents, including their severity + * and frequency. * * @param body (required) * @return ApiResponse<DORAFailureResponse> @@ -272,7 +275,7 @@ public ApiResponse createDORAFailureWithHttpInfo(DORAFailur } /** - * Send a failure event. + * Send an incident event. * *

See {@link #createDORAFailureWithHttpInfo}. * @@ -324,7 +327,7 @@ public CompletableFuture> createDORAFailureWith } /** - * Send an incident event. + * Send an incident event (legacy). * *

See {@link #createDORAIncidentWithHttpInfo}. * @@ -339,7 +342,7 @@ public DORAFailureResponse createDORAIncident(DORAFailureRequest body) throws Ap } /** - * Send an incident event. + * Send an incident event (legacy). * *

See {@link #createDORAIncidentWithHttpInfoAsync}. * @@ -360,9 +363,8 @@ public CompletableFuture createDORAIncidentAsync(DORAFailur * Note: This endpoint is deprecated. Please use /api/v2/dora/failure * instead. * - *

Use this API endpoint to provide failure data. - * - *

This is necessary for: - Change Failure Rate - Time to Restore + *

Use this API endpoint to provide incident data. Tracking incidents gives a side-by-side view + * of how failed deployments translate into real-world incidents. * * @param body (required) * @return ApiResponse<DORAFailureResponse> @@ -416,7 +418,7 @@ public ApiResponse createDORAIncidentWithHttpInfo(DORAFailu } /** - * Send an incident event. + * Send an incident event (legacy). * *

See {@link #createDORAIncidentWithHttpInfo}. * @@ -607,11 +609,11 @@ public CompletableFuture> deleteDORADeploymentWithHttpInfoAsyn } /** - * Delete a failure event. + * Delete an incident event. * *

See {@link #deleteDORAFailureWithHttpInfo}. * - * @param failureId The ID of the failure event to delete. (required) + * @param failureId The ID of the incident event to delete. (required) * @throws ApiException if fails to make API call */ public void deleteDORAFailure(String failureId) throws ApiException { @@ -619,11 +621,11 @@ public void deleteDORAFailure(String failureId) throws ApiException { } /** - * Delete a failure event. + * Delete an incident event. * *

See {@link #deleteDORAFailureWithHttpInfoAsync}. * - * @param failureId The ID of the failure event to delete. (required) + * @param failureId The ID of the incident event to delete. (required) * @return CompletableFuture */ public CompletableFuture deleteDORAFailureAsync(String failureId) { @@ -635,9 +637,9 @@ public CompletableFuture deleteDORAFailureAsync(String failureId) { } /** - * Use this API endpoint to delete a failure event. + * Use this API endpoint to delete an incident event. * - * @param failureId The ID of the failure event to delete. (required) + * @param failureId The ID of the incident event to delete. (required) * @return ApiResponse<Void> * @throws ApiException if fails to make API call * @http.response.details @@ -686,11 +688,11 @@ public ApiResponse deleteDORAFailureWithHttpInfo(String failureId) throws } /** - * Delete a failure event. + * Delete an incident event. * *

See {@link #deleteDORAFailureWithHttpInfo}. * - * @param failureId The ID of the failure event to delete. (required) + * @param failureId The ID of the incident event to delete. (required) * @return CompletableFuture<ApiResponse<Void>> */ public CompletableFuture> deleteDORAFailureWithHttpInfoAsync(String failureId) { @@ -879,11 +881,11 @@ public ApiResponse getDORADeploymentWithHttpInfo(St } /** - * Get a failure event. + * Get an incident event. * *

See {@link #getDORAFailureWithHttpInfo}. * - * @param failureId The ID of the failure event. (required) + * @param failureId The ID of the incident event. (required) * @return DORAFailureFetchResponse * @throws ApiException if fails to make API call */ @@ -892,11 +894,11 @@ public DORAFailureFetchResponse getDORAFailure(String failureId) throws ApiExcep } /** - * Get a failure event. + * Get an incident event. * *

See {@link #getDORAFailureWithHttpInfoAsync}. * - * @param failureId The ID of the failure event. (required) + * @param failureId The ID of the incident event. (required) * @return CompletableFuture<DORAFailureFetchResponse> */ public CompletableFuture getDORAFailureAsync(String failureId) { @@ -908,9 +910,9 @@ public CompletableFuture getDORAFailureAsync(String fa } /** - * Use this API endpoint to get a failure event. + * Use this API endpoint to get an incident event. * - * @param failureId The ID of the failure event. (required) + * @param failureId The ID of the incident event. (required) * @return ApiResponse<DORAFailureFetchResponse> * @throws ApiException if fails to make API call * @http.response.details @@ -960,11 +962,11 @@ public ApiResponse getDORAFailureWithHttpInfo(String f } /** - * Get a failure event. + * Get an incident event. * *

See {@link #getDORAFailureWithHttpInfo}. * - * @param failureId The ID of the failure event. (required) + * @param failureId The ID of the incident event. (required) * @return CompletableFuture<ApiResponse<DORAFailureFetchResponse>> */ public CompletableFuture> getDORAFailureWithHttpInfoAsync( @@ -1149,7 +1151,7 @@ public ApiResponse listDORADeploymentsWithHttpInfo( } /** - * Get a list of failure events. + * Get a list of incident events. * *

See {@link #listDORAFailuresWithHttpInfo}. * @@ -1163,7 +1165,7 @@ public DORAFailuresListResponse listDORAFailures(DORAListFailuresRequest body) } /** - * Get a list of failure events. + * Get a list of incident events. * *

See {@link #listDORAFailuresWithHttpInfoAsync}. * @@ -1180,7 +1182,7 @@ public CompletableFuture listDORAFailuresAsync( } /** - * Use this API endpoint to get a list of failure events. + * Use this API endpoint to get a list of incident events. * * @param body (required) * @return ApiResponse<DORAFailuresListResponse> @@ -1230,7 +1232,7 @@ public ApiResponse listDORAFailuresWithHttpInfo( } /** - * Get a list of failure events. + * Get a list of incident events. * *

See {@link #listDORAFailuresWithHttpInfo}. * @@ -1314,7 +1316,9 @@ public CompletableFuture patchDORADeploymentAsync( } /** - * Use this API endpoint to patch a deployment event. + * Update a deployment's change failure status. Use this to mark a deployment as a change failure + * or back to stable. You can optionally include remediation details to enable failed deployment + * recovery time calculation. * * @param deploymentId The ID of the deployment event. (required) * @param body (required) diff --git a/src/main/java/com/datadog/api/client/v2/model/DORADeploymentPatchRemediation.java b/src/main/java/com/datadog/api/client/v2/model/DORADeploymentPatchRemediation.java index a9591a68684..5ed11346ec4 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORADeploymentPatchRemediation.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORADeploymentPatchRemediation.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; -import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; @@ -17,7 +16,10 @@ import java.util.Map; import java.util.Objects; -/** Remediation details for the deployment. */ +/** + * Remediation details for the deployment. Optional, but required to calculate failed deployment + * recovery time. + */ @JsonPropertyOrder({ DORADeploymentPatchRemediation.JSON_PROPERTY_ID, DORADeploymentPatchRemediation.JSON_PROPERTY_TYPE @@ -32,30 +34,20 @@ public class DORADeploymentPatchRemediation { public static final String JSON_PROPERTY_TYPE = "type"; private DORADeploymentPatchRemediationType type; - public DORADeploymentPatchRemediation() {} - - @JsonCreator - public DORADeploymentPatchRemediation( - @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, - @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) - DORADeploymentPatchRemediationType type) { - this.id = id; - this.type = type; - this.unparsed |= !type.isValid(); - } - public DORADeploymentPatchRemediation id(String id) { this.id = id; return this; } /** - * The ID of the remediation action. + * The ID of the remediation deployment. Required when the failed deployment must be linked to a + * remediation deployment. * * @return id */ + @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_ID) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public String getId() { return id; } @@ -71,12 +63,14 @@ public DORADeploymentPatchRemediation type(DORADeploymentPatchRemediationType ty } /** - * The type of remediation action taken. + * The type of remediation action taken. Required when the failed deployment must be linked to a + * remediation deployment. * * @return type */ + @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_TYPE) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public DORADeploymentPatchRemediationType getType() { return type; } diff --git a/src/main/java/com/datadog/api/client/v2/model/DORADeploymentPatchRemediationType.java b/src/main/java/com/datadog/api/client/v2/model/DORADeploymentPatchRemediationType.java index 310a401a29f..f5c6691d0c3 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORADeploymentPatchRemediationType.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORADeploymentPatchRemediationType.java @@ -18,7 +18,10 @@ import java.util.HashSet; import java.util.Set; -/** The type of remediation action taken. */ +/** + * The type of remediation action taken. Required when the failed deployment must be linked to a + * remediation deployment. + */ @JsonSerialize( using = DORADeploymentPatchRemediationType.DORADeploymentPatchRemediationTypeSerializer.class) public class DORADeploymentPatchRemediationType extends ModelEnum { diff --git a/src/main/java/com/datadog/api/client/v2/model/DORADeploymentPatchRequestAttributes.java b/src/main/java/com/datadog/api/client/v2/model/DORADeploymentPatchRequestAttributes.java index 9c26d6557db..ae563c58217 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORADeploymentPatchRequestAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORADeploymentPatchRequestAttributes.java @@ -60,7 +60,8 @@ public DORADeploymentPatchRequestAttributes remediation( } /** - * Remediation details for the deployment. + * Remediation details for the deployment. Optional, but required to calculate failed deployment + * recovery time. * * @return remediation */ diff --git a/src/main/java/com/datadog/api/client/v2/model/DORAFailureFetchResponse.java b/src/main/java/com/datadog/api/client/v2/model/DORAFailureFetchResponse.java index 278530d0160..bb9e82ee6a7 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORAFailureFetchResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORAFailureFetchResponse.java @@ -16,7 +16,7 @@ import java.util.Map; import java.util.Objects; -/** Response for fetching a single failure event. */ +/** Response for fetching a single incident event. */ @JsonPropertyOrder({DORAFailureFetchResponse.JSON_PROPERTY_DATA}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") diff --git a/src/main/java/com/datadog/api/client/v2/model/DORAFailureRequest.java b/src/main/java/com/datadog/api/client/v2/model/DORAFailureRequest.java index 726031d7db2..9ab64191c72 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORAFailureRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORAFailureRequest.java @@ -17,7 +17,7 @@ import java.util.Map; import java.util.Objects; -/** Request to create a DORA failure event. */ +/** Request to create a DORA incident event. */ @JsonPropertyOrder({DORAFailureRequest.JSON_PROPERTY_DATA}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") diff --git a/src/main/java/com/datadog/api/client/v2/model/DORAFailureRequestAttributes.java b/src/main/java/com/datadog/api/client/v2/model/DORAFailureRequestAttributes.java index 498ac25a718..788a29b4c6b 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORAFailureRequestAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORAFailureRequestAttributes.java @@ -20,7 +20,7 @@ import java.util.Objects; import org.openapitools.jackson.nullable.JsonNullable; -/** Attributes to create a DORA failure event. */ +/** Attributes to create a DORA incident event. */ @JsonPropertyOrder({ DORAFailureRequestAttributes.JSON_PROPERTY_CUSTOM_TAGS, DORAFailureRequestAttributes.JSON_PROPERTY_ENV, @@ -129,7 +129,7 @@ public DORAFailureRequestAttributes env(String env) { } /** - * Environment name that was impacted by the failure. + * Environment name that was impacted by the incident. * * @return env */ @@ -150,7 +150,7 @@ public DORAFailureRequestAttributes finishedAt(Long finishedAt) { } /** - * Unix timestamp when the failure finished. It must be in nanoseconds, milliseconds, or seconds. + * Unix timestamp when the incident finished. It must be in nanoseconds, milliseconds, or seconds. * * @return finishedAt */ @@ -193,7 +193,7 @@ public DORAFailureRequestAttributes id(String id) { } /** - * Failure ID. Must be 16-128 characters and contain only alphanumeric characters, hyphens, + * Incident ID. Must be 16-128 characters and contain only alphanumeric characters, hyphens, * underscores, periods, and colons (a-z, A-Z, 0-9, -, _, ., :). * * @return id @@ -215,7 +215,7 @@ public DORAFailureRequestAttributes name(String name) { } /** - * Failure name. + * Incident name. * * @return name */ @@ -244,7 +244,7 @@ public DORAFailureRequestAttributes addServicesItem(String servicesItem) { } /** - * Service names impacted by the failure. If possible, use names registered in the Service + * Service names impacted by the incident. If possible, use names registered in the Service * Catalog. Required when the team field is not provided. * * @return services @@ -266,7 +266,7 @@ public DORAFailureRequestAttributes severity(String severity) { } /** - * Failure severity. + * Incident severity. * * @return severity */ @@ -287,7 +287,7 @@ public DORAFailureRequestAttributes startedAt(Long startedAt) { } /** - * Unix timestamp when the failure started. It must be in nanoseconds, milliseconds, or seconds. + * Unix timestamp when the incident started. It must be in nanoseconds, milliseconds, or seconds. * * @return startedAt */ diff --git a/src/main/java/com/datadog/api/client/v2/model/DORAFailureRequestData.java b/src/main/java/com/datadog/api/client/v2/model/DORAFailureRequestData.java index 634db3e44ce..693e26b85b2 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORAFailureRequestData.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORAFailureRequestData.java @@ -43,7 +43,7 @@ public DORAFailureRequestData attributes(DORAFailureRequestAttributes attributes } /** - * Attributes to create a DORA failure event. + * Attributes to create a DORA incident event. * * @return attributes */ diff --git a/src/main/java/com/datadog/api/client/v2/model/DORAFailureResponse.java b/src/main/java/com/datadog/api/client/v2/model/DORAFailureResponse.java index 8749d480609..b9aa04c786a 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORAFailureResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORAFailureResponse.java @@ -17,7 +17,7 @@ import java.util.Map; import java.util.Objects; -/** Response after receiving a DORA failure event. */ +/** Response after receiving a DORA incident event. */ @JsonPropertyOrder({DORAFailureResponse.JSON_PROPERTY_DATA}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") @@ -42,7 +42,7 @@ public DORAFailureResponse data(DORAFailureResponseData data) { } /** - * Response after receiving a DORA failure event. + * Response after receiving a DORA incident event. * * @return data */ diff --git a/src/main/java/com/datadog/api/client/v2/model/DORAFailureResponseData.java b/src/main/java/com/datadog/api/client/v2/model/DORAFailureResponseData.java index 8f9e8eb1a13..a9b8d2b8b60 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORAFailureResponseData.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORAFailureResponseData.java @@ -17,7 +17,7 @@ import java.util.Map; import java.util.Objects; -/** Response after receiving a DORA failure event. */ +/** Response after receiving a DORA incident event. */ @JsonPropertyOrder({ DORAFailureResponseData.JSON_PROPERTY_ID, DORAFailureResponseData.JSON_PROPERTY_TYPE @@ -46,7 +46,7 @@ public DORAFailureResponseData id(String id) { } /** - * The ID of the received DORA failure event. + * The ID of the received DORA incident event. * * @return id */ @@ -67,7 +67,7 @@ public DORAFailureResponseData type(DORAFailureType type) { } /** - * JSON:API type for DORA failure events. + * JSON:API type for DORA incident events. * * @return type */ diff --git a/src/main/java/com/datadog/api/client/v2/model/DORAFailureType.java b/src/main/java/com/datadog/api/client/v2/model/DORAFailureType.java index 004b4da48d0..c36eb0a79df 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORAFailureType.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORAFailureType.java @@ -18,7 +18,7 @@ import java.util.HashSet; import java.util.Set; -/** JSON:API type for DORA failure events. */ +/** JSON:API type for DORA incident events. */ @JsonSerialize(using = DORAFailureType.DORAFailureTypeSerializer.class) public class DORAFailureType extends ModelEnum { diff --git a/src/main/java/com/datadog/api/client/v2/model/DORAFailuresListResponse.java b/src/main/java/com/datadog/api/client/v2/model/DORAFailuresListResponse.java index 1860de0abf4..afba187d7d7 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORAFailuresListResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORAFailuresListResponse.java @@ -18,7 +18,7 @@ import java.util.Map; import java.util.Objects; -/** Response for the list failures endpoint. */ +/** Response for the list incidents endpoint. */ @JsonPropertyOrder({DORAFailuresListResponse.JSON_PROPERTY_DATA}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") diff --git a/src/main/java/com/datadog/api/client/v2/model/DORAIncidentObject.java b/src/main/java/com/datadog/api/client/v2/model/DORAIncidentObject.java index 31995912458..29f75283980 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORAIncidentObject.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORAIncidentObject.java @@ -85,7 +85,7 @@ public DORAIncidentObject type(DORAFailureType type) { } /** - * JSON:API type for DORA failure events. + * JSON:API type for DORA incident events. * * @return type */ diff --git a/src/main/java/com/datadog/api/client/v2/model/DORAListFailuresRequest.java b/src/main/java/com/datadog/api/client/v2/model/DORAListFailuresRequest.java index 4e6418762b8..6f92a681d04 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORAListFailuresRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORAListFailuresRequest.java @@ -17,7 +17,7 @@ import java.util.Map; import java.util.Objects; -/** Request to get a list of failures. */ +/** Request to get a list of incidents. */ @JsonPropertyOrder({DORAListFailuresRequest.JSON_PROPERTY_DATA}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") diff --git a/src/main/java/com/datadog/api/client/v2/model/DORAListFailuresRequestAttributes.java b/src/main/java/com/datadog/api/client/v2/model/DORAListFailuresRequestAttributes.java index ce77bdb3c7b..f820f4cee95 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORAListFailuresRequestAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORAListFailuresRequestAttributes.java @@ -17,7 +17,7 @@ import java.util.Map; import java.util.Objects; -/** Attributes to get a list of failures. */ +/** Attributes to get a list of incidents. */ @JsonPropertyOrder({ DORAListFailuresRequestAttributes.JSON_PROPERTY_FROM, DORAListFailuresRequestAttributes.JSON_PROPERTY_LIMIT, diff --git a/src/main/java/com/datadog/api/client/v2/model/DORAListFailuresRequestData.java b/src/main/java/com/datadog/api/client/v2/model/DORAListFailuresRequestData.java index 8810af50dac..cc096b93435 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DORAListFailuresRequestData.java +++ b/src/main/java/com/datadog/api/client/v2/model/DORAListFailuresRequestData.java @@ -50,7 +50,7 @@ public DORAListFailuresRequestData attributes(DORAListFailuresRequestAttributes } /** - * Attributes to get a list of failures. + * Attributes to get a list of incidents. * * @return attributes */ diff --git a/src/test/resources/com/datadog/api/client/v2/api/dora_metrics.feature b/src/test/resources/com/datadog/api/client/v2/api/dora_metrics.feature index 7a3275b54bf..768442f37f5 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/dora_metrics.feature +++ b/src/test/resources/com/datadog/api/client/v2/api/dora_metrics.feature @@ -41,34 +41,34 @@ Feature: DORA Metrics Then the response status is 400 Bad Request @generated @skip @team:DataDog/ci-app-backend - Scenario: Get a deployment event returns "Bad Request" response + Scenario: Delete an incident event returns "Accepted" response Given a valid "appKeyAuth" key in the system - And new "GetDORADeployment" request - And request contains "deployment_id" parameter from "REPLACE.ME" + And new "DeleteDORAFailure" request + And request contains "failure_id" parameter from "REPLACE.ME" When the request is sent - Then the response status is 400 Bad Request + Then the response status is 202 Accepted @generated @skip @team:DataDog/ci-app-backend - Scenario: Get a deployment event returns "OK" response + Scenario: Delete an incident event returns "Bad Request" response Given a valid "appKeyAuth" key in the system - And new "GetDORADeployment" request - And request contains "deployment_id" parameter from "REPLACE.ME" + And new "DeleteDORAFailure" request + And request contains "failure_id" parameter from "REPLACE.ME" When the request is sent - Then the response status is 200 OK + Then the response status is 400 Bad Request @generated @skip @team:DataDog/ci-app-backend - Scenario: Get a failure event returns "Bad Request" response + Scenario: Get a deployment event returns "Bad Request" response Given a valid "appKeyAuth" key in the system - And new "GetDORAFailure" request - And request contains "failure_id" parameter from "REPLACE.ME" + And new "GetDORADeployment" request + And request contains "deployment_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request @generated @skip @team:DataDog/ci-app-backend - Scenario: Get a failure event returns "OK" response + Scenario: Get a deployment event returns "OK" response Given a valid "appKeyAuth" key in the system - And new "GetDORAFailure" request - And request contains "failure_id" parameter from "REPLACE.ME" + And new "GetDORADeployment" request + And request contains "deployment_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK @@ -104,6 +104,38 @@ Feature: DORA Metrics When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/ci-app-backend + Scenario: Get a list of incident events returns "Bad Request" response + Given a valid "appKeyAuth" key in the system + And new "ListDORAFailures" request + And body with value {"data": {"attributes": {"from": "2025-01-01T00:00:00Z", "limit": 100, "query": "severity:(SEV-1 OR SEV-2) env:production team:backend", "sort": "-started_at", "to": "2025-01-31T23:59:59Z"}, "type": "dora_failures_list_request"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/ci-app-backend + Scenario: Get a list of incident events returns "OK" response + Given a valid "appKeyAuth" key in the system + And new "ListDORAFailures" request + And body with value {"data": {"attributes": {"from": "2025-01-01T00:00:00Z", "limit": 100, "query": "severity:(SEV-1 OR SEV-2) env:production team:backend", "sort": "-started_at", "to": "2025-01-31T23:59:59Z"}, "type": "dora_failures_list_request"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/ci-app-backend + Scenario: Get an incident event returns "Bad Request" response + Given a valid "appKeyAuth" key in the system + And new "GetDORAFailure" request + And request contains "failure_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/ci-app-backend + Scenario: Get an incident event returns "OK" response + Given a valid "appKeyAuth" key in the system + And new "GetDORAFailure" request + And request contains "failure_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/ci-app-backend Scenario: Patch a deployment event returns "Accepted" response Given a valid "appKeyAuth" key in the system @@ -150,37 +182,51 @@ Feature: DORA Metrics When the request is sent Then the response status is 400 Bad Request + @replay-only @team:DataDog/ci-app-backend + Scenario: Send a failure event returns "OK" response + Given new "CreateDORAIncident" request + And body with value {"data": {"attributes": {"finished_at": 1707842944600000000, "git": {"commit_sha": "66adc9350f2cc9b250b69abddab733dd55e1a588", "repository_url": "https://github.com/organization/example-repository"}, "name": "Webserver is down failing all requests", "services": ["shopist"], "severity": "High", "started_at": 1707842944500000000, "team": "backend", "version": "v1.12.07"}}} + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/ci-app-backend - Scenario: Send a failure event returns "OK - but delayed due to incident" response - Given new "CreateDORAFailure" request + Scenario: Send an incident event (legacy) returns "Bad Request" response + Given new "CreateDORAIncident" request + And body with value {"data": {"attributes": {"custom_tags": ["language:java", "department:engineering"], "env": "staging", "finished_at": 1693491984000000000, "git": {"commit_sha": "66adc9350f2cc9b250b69abddab733dd55e1a588", "repository_url": "https://github.com/organization/example-repository"}, "name": "Webserver is down failing all requests.", "services": ["shopist"], "severity": "High", "started_at": 1693491974000000000, "team": "backend", "version": "v1.12.07"}}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/ci-app-backend + Scenario: Send an incident event (legacy) returns "OK - but delayed due to incident" response + Given new "CreateDORAIncident" request And body with value {"data": {"attributes": {"custom_tags": ["language:java", "department:engineering"], "env": "staging", "finished_at": 1693491984000000000, "git": {"commit_sha": "66adc9350f2cc9b250b69abddab733dd55e1a588", "repository_url": "https://github.com/organization/example-repository"}, "name": "Webserver is down failing all requests.", "services": ["shopist"], "severity": "High", "started_at": 1693491974000000000, "team": "backend", "version": "v1.12.07"}}} When the request is sent Then the response status is 202 OK - but delayed due to incident - @replay-only @team:DataDog/ci-app-backend - Scenario: Send a failure event returns "OK" response + @generated @skip @team:DataDog/ci-app-backend + Scenario: Send an incident event (legacy) returns "OK" response Given new "CreateDORAIncident" request - And body with value {"data": {"attributes": {"finished_at": 1707842944600000000, "git": {"commit_sha": "66adc9350f2cc9b250b69abddab733dd55e1a588", "repository_url": "https://github.com/organization/example-repository"}, "name": "Webserver is down failing all requests", "services": ["shopist"], "severity": "High", "started_at": 1707842944500000000, "team": "backend", "version": "v1.12.07"}}} + And body with value {"data": {"attributes": {"custom_tags": ["language:java", "department:engineering"], "env": "staging", "finished_at": 1693491984000000000, "git": {"commit_sha": "66adc9350f2cc9b250b69abddab733dd55e1a588", "repository_url": "https://github.com/organization/example-repository"}, "name": "Webserver is down failing all requests.", "services": ["shopist"], "severity": "High", "started_at": 1693491974000000000, "team": "backend", "version": "v1.12.07"}}} When the request is sent Then the response status is 200 OK @generated @skip @team:DataDog/ci-app-backend Scenario: Send an incident event returns "Bad Request" response - Given new "CreateDORAIncident" request + Given new "CreateDORAFailure" request And body with value {"data": {"attributes": {"custom_tags": ["language:java", "department:engineering"], "env": "staging", "finished_at": 1693491984000000000, "git": {"commit_sha": "66adc9350f2cc9b250b69abddab733dd55e1a588", "repository_url": "https://github.com/organization/example-repository"}, "name": "Webserver is down failing all requests.", "services": ["shopist"], "severity": "High", "started_at": 1693491974000000000, "team": "backend", "version": "v1.12.07"}}} When the request is sent Then the response status is 400 Bad Request @generated @skip @team:DataDog/ci-app-backend Scenario: Send an incident event returns "OK - but delayed due to incident" response - Given new "CreateDORAIncident" request + Given new "CreateDORAFailure" request And body with value {"data": {"attributes": {"custom_tags": ["language:java", "department:engineering"], "env": "staging", "finished_at": 1693491984000000000, "git": {"commit_sha": "66adc9350f2cc9b250b69abddab733dd55e1a588", "repository_url": "https://github.com/organization/example-repository"}, "name": "Webserver is down failing all requests.", "services": ["shopist"], "severity": "High", "started_at": 1693491974000000000, "team": "backend", "version": "v1.12.07"}}} When the request is sent Then the response status is 202 OK - but delayed due to incident @generated @skip @team:DataDog/ci-app-backend Scenario: Send an incident event returns "OK" response - Given new "CreateDORAIncident" request + Given new "CreateDORAFailure" request And body with value {"data": {"attributes": {"custom_tags": ["language:java", "department:engineering"], "env": "staging", "finished_at": 1693491984000000000, "git": {"commit_sha": "66adc9350f2cc9b250b69abddab733dd55e1a588", "repository_url": "https://github.com/organization/example-repository"}, "name": "Webserver is down failing all requests.", "services": ["shopist"], "severity": "High", "started_at": 1693491974000000000, "team": "backend", "version": "v1.12.07"}}} When the request is sent Then the response status is 200 OK