diff --git a/.generated-info b/.generated-info index bdcbb99f48..5b5b8dfea9 100644 --- a/.generated-info +++ b/.generated-info @@ -1,4 +1,4 @@ { - "spec_repo_commit": "d02c8a3", - "generated": "2025-08-08 12:07:20.979" + "spec_repo_commit": "5d6481a", + "generated": "2025-08-12 11:13:24.320" } diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 4f155402b7..a156ddb278 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -7280,6 +7280,35 @@ components: type: $ref: '#/components/schemas/CaseType' type: object + CaseComment: + description: Case comment + properties: + attributes: + $ref: '#/components/schemas/CaseCommentAttributes' + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - attributes + - type + type: object + CaseCommentAttributes: + description: Case comment attributes + properties: + comment: + description: The `CaseCommentAttributes` `message`. + example: This is my comment ! + type: string + required: + - comment + type: object + CaseCommentRequest: + description: Case comment request + properties: + data: + $ref: '#/components/schemas/CaseComment' + required: + - data + type: object CaseCreate: description: Case creation data properties: @@ -42538,6 +42567,120 @@ components: - time_zone - restrictions type: object + TimelineCell: + description: timeline cell + properties: + author: + $ref: '#/components/schemas/TimelineCellAuthor' + cell_content: + $ref: '#/components/schemas/TimelineCellContent' + created_at: + description: Timestamp of when the cell was created + format: date-time + readOnly: true + type: string + deleted_at: + description: Timestamp of when the cell was deleted + format: date-time + readOnly: true + type: string + modified_at: + description: Timestamp of when the cell was last modified + format: date-time + readOnly: true + type: string + type: + $ref: '#/components/schemas/TimelineCellType' + type: object + TimelineCellAuthor: + description: author of the timeline cell + oneOf: + - $ref: '#/components/schemas/TimelineCellAuthorUser' + TimelineCellAuthorUser: + description: timeline cell user author + properties: + content: + $ref: '#/components/schemas/TimelineCellAuthorUserContent' + type: + $ref: '#/components/schemas/TimelineCellAuthorUserType' + type: object + TimelineCellAuthorUserContent: + description: user author content. + properties: + email: + description: user email + type: string + handle: + description: user handle + type: string + id: + description: user UUID + type: string + name: + description: user name + type: string + type: object + TimelineCellAuthorUserType: + description: user author type. + enum: + - USER + example: USER + type: string + x-enum-varnames: + - USER + TimelineCellContent: + description: timeline cell content + oneOf: + - $ref: '#/components/schemas/TimelineCellContentComment' + TimelineCellContentComment: + description: comment content + properties: + message: + description: comment message + type: string + type: object + TimelineCellResource: + description: Timeline cell JSON:API resource + properties: + attributes: + $ref: '#/components/schemas/TimelineCell' + id: + description: Timeline cell's identifier + example: aeadc05e-98a8-11ec-ac2c-da7ad0900001 + type: string + type: + $ref: '#/components/schemas/TimelineCellResourceType' + required: + - id + - type + - attributes + type: object + TimelineCellResourceType: + default: timeline_cell + description: Timeline cell JSON:API resource type + enum: + - timeline_cell + example: timeline_cell + type: string + x-enum-varnames: + - TIMELINE_CELL + TimelineCellType: + description: Timeline cell content type + enum: + - COMMENT + example: COMMENT + type: string + x-enum-varnames: + - COMMENT + TimelineResponse: + description: Timeline response + properties: + data: + description: The `TimelineResponse` `data`. + items: + $ref: '#/components/schemas/TimelineCellResource' + type: array + type: object TimeseriesFormulaQueryRequest: description: A request wrapper around a single timeseries query to be executed. properties: @@ -47570,6 +47713,39 @@ paths: summary: Update case attributes tags: - Case Management + /api/v2/cases/{case_id}/comment: + post: + description: Comment case + operationId: CommentCase + parameters: + - $ref: '#/components/parameters/CaseIDPathParameter' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CaseCommentRequest' + description: Case comment payload + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TimelineResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Comment case + tags: + - Case Management /api/v2/cases/{case_id}/priority: post: description: Update case priority diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index 3164dbe560..a254f67e89 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -2258,6 +2258,27 @@ datadog\_api\_client.v2.model.case\_attributes module :members: :show-inheritance: +datadog\_api\_client.v2.model.case\_comment module +-------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.case_comment + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.case\_comment\_attributes module +-------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.case_comment_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.case\_comment\_request module +----------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.case_comment_request + :members: + :show-inheritance: + datadog\_api\_client.v2.model.case\_create module ------------------------------------------------- @@ -18883,6 +18904,83 @@ datadog\_api\_client.v2.model.time\_restrictions module :members: :show-inheritance: +datadog\_api\_client.v2.model.timeline\_cell module +--------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.timeline_cell + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.timeline\_cell\_author module +----------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.timeline_cell_author + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.timeline\_cell\_author\_user module +----------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.timeline_cell_author_user + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.timeline\_cell\_author\_user\_content module +-------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.timeline_cell_author_user_content + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.timeline\_cell\_author\_user\_type module +----------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.timeline_cell_author_user_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.timeline\_cell\_content module +------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.timeline_cell_content + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.timeline\_cell\_content\_comment module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.timeline_cell_content_comment + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.timeline\_cell\_resource module +------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.timeline_cell_resource + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.timeline\_cell\_resource\_type module +------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.timeline_cell_resource_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.timeline\_cell\_type module +--------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.timeline_cell_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.timeline\_response module +------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.timeline_response + :members: + :show-inheritance: + datadog\_api\_client.v2.model.timeseries\_formula\_query\_request module ------------------------------------------------------------------------ diff --git a/examples/v2/case-management/CommentCase.py b/examples/v2/case-management/CommentCase.py new file mode 100644 index 0000000000..ebbf786f1b --- /dev/null +++ b/examples/v2/case-management/CommentCase.py @@ -0,0 +1,30 @@ +""" +Comment case returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.case_management_api import CaseManagementApi +from datadog_api_client.v2.model.case_comment import CaseComment +from datadog_api_client.v2.model.case_comment_attributes import CaseCommentAttributes +from datadog_api_client.v2.model.case_comment_request import CaseCommentRequest +from datadog_api_client.v2.model.case_resource_type import CaseResourceType + +# there is a valid "case" in the system +CASE_ID = environ["CASE_ID"] + +body = CaseCommentRequest( + data=CaseComment( + attributes=CaseCommentAttributes( + comment="Hello World !", + ), + type=CaseResourceType.CASE, + ), +) + +configuration = Configuration() +with ApiClient(configuration) as api_client: + api_instance = CaseManagementApi(api_client) + response = api_instance.comment_case(case_id=CASE_ID, body=body) + + print(response) diff --git a/src/datadog_api_client/v2/api/case_management_api.py b/src/datadog_api_client/v2/api/case_management_api.py index 58897a085d..bad614b877 100644 --- a/src/datadog_api_client/v2/api/case_management_api.py +++ b/src/datadog_api_client/v2/api/case_management_api.py @@ -25,6 +25,8 @@ from datadog_api_client.v2.model.case_empty_request import CaseEmptyRequest from datadog_api_client.v2.model.case_assign_request import CaseAssignRequest from datadog_api_client.v2.model.case_update_attributes_request import CaseUpdateAttributesRequest +from datadog_api_client.v2.model.timeline_response import TimelineResponse +from datadog_api_client.v2.model.case_comment_request import CaseCommentRequest from datadog_api_client.v2.model.case_update_priority_request import CaseUpdatePriorityRequest from datadog_api_client.v2.model.case_update_status_request import CaseUpdateStatusRequest @@ -91,6 +93,32 @@ def __init__(self, api_client=None): api_client=api_client, ) + self._comment_case_endpoint = _Endpoint( + settings={ + "response_type": (TimelineResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/cases/{case_id}/comment", + "operation_id": "comment_case", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "case_id": { + "required": True, + "openapi_types": (str,), + "attribute": "case_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (CaseCommentRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + self._create_case_endpoint = _Endpoint( settings={ "response_type": (CaseResponse,), @@ -432,6 +460,28 @@ def assign_case( return self._assign_case_endpoint.call_with_http_info(**kwargs) + def comment_case( + self, + case_id: str, + body: CaseCommentRequest, + ) -> TimelineResponse: + """Comment case. + + Comment case + + :param case_id: Case's UUID or key + :type case_id: str + :param body: Case comment payload + :type body: CaseCommentRequest + :rtype: TimelineResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["case_id"] = case_id + + kwargs["body"] = body + + return self._comment_case_endpoint.call_with_http_info(**kwargs) + def create_case( self, body: CaseCreateRequest, diff --git a/src/datadog_api_client/v2/model/case_comment.py b/src/datadog_api_client/v2/model/case_comment.py new file mode 100644 index 0000000000..7b648429d1 --- /dev/null +++ b/src/datadog_api_client/v2/model/case_comment.py @@ -0,0 +1,48 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.case_comment_attributes import CaseCommentAttributes + from datadog_api_client.v2.model.case_resource_type import CaseResourceType + + +class CaseComment(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.case_comment_attributes import CaseCommentAttributes + from datadog_api_client.v2.model.case_resource_type import CaseResourceType + + return { + "attributes": (CaseCommentAttributes,), + "type": (CaseResourceType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__(self_, attributes: CaseCommentAttributes, type: CaseResourceType, **kwargs): + """ + Case comment + + :param attributes: Case comment attributes + :type attributes: CaseCommentAttributes + + :param type: Case resource type + :type type: CaseResourceType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/case_comment_attributes.py b/src/datadog_api_client/v2/model/case_comment_attributes.py new file mode 100644 index 0000000000..17341277dc --- /dev/null +++ b/src/datadog_api_client/v2/model/case_comment_attributes.py @@ -0,0 +1,33 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +class CaseCommentAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "comment": (str,), + } + + attribute_map = { + "comment": "comment", + } + + def __init__(self_, comment: str, **kwargs): + """ + Case comment attributes + + :param comment: The ``CaseCommentAttributes`` ``message``. + :type comment: str + """ + super().__init__(kwargs) + + self_.comment = comment diff --git a/src/datadog_api_client/v2/model/case_comment_request.py b/src/datadog_api_client/v2/model/case_comment_request.py new file mode 100644 index 0000000000..ac55f3bbf0 --- /dev/null +++ b/src/datadog_api_client/v2/model/case_comment_request.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.case_comment import CaseComment + + +class CaseCommentRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.case_comment import CaseComment + + return { + "data": (CaseComment,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: CaseComment, **kwargs): + """ + Case comment request + + :param data: Case comment + :type data: CaseComment + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/timeline_cell.py b/src/datadog_api_client/v2/model/timeline_cell.py new file mode 100644 index 0000000000..4b6a3ee955 --- /dev/null +++ b/src/datadog_api_client/v2/model/timeline_cell.py @@ -0,0 +1,98 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.timeline_cell_author import TimelineCellAuthor + from datadog_api_client.v2.model.timeline_cell_content import TimelineCellContent + from datadog_api_client.v2.model.timeline_cell_type import TimelineCellType + from datadog_api_client.v2.model.timeline_cell_author_user import TimelineCellAuthorUser + from datadog_api_client.v2.model.timeline_cell_content_comment import TimelineCellContentComment + + +class TimelineCell(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.timeline_cell_author import TimelineCellAuthor + from datadog_api_client.v2.model.timeline_cell_content import TimelineCellContent + from datadog_api_client.v2.model.timeline_cell_type import TimelineCellType + + return { + "author": (TimelineCellAuthor,), + "cell_content": (TimelineCellContent,), + "created_at": (datetime,), + "deleted_at": (datetime,), + "modified_at": (datetime,), + "type": (TimelineCellType,), + } + + attribute_map = { + "author": "author", + "cell_content": "cell_content", + "created_at": "created_at", + "deleted_at": "deleted_at", + "modified_at": "modified_at", + "type": "type", + } + read_only_vars = { + "created_at", + "deleted_at", + "modified_at", + } + + def __init__( + self_, + author: Union[TimelineCellAuthor, TimelineCellAuthorUser, UnsetType] = unset, + cell_content: Union[TimelineCellContent, TimelineCellContentComment, UnsetType] = unset, + created_at: Union[datetime, UnsetType] = unset, + deleted_at: Union[datetime, UnsetType] = unset, + modified_at: Union[datetime, UnsetType] = unset, + type: Union[TimelineCellType, UnsetType] = unset, + **kwargs, + ): + """ + timeline cell + + :param author: author of the timeline cell + :type author: TimelineCellAuthor, optional + + :param cell_content: timeline cell content + :type cell_content: TimelineCellContent, optional + + :param created_at: Timestamp of when the cell was created + :type created_at: datetime, optional + + :param deleted_at: Timestamp of when the cell was deleted + :type deleted_at: datetime, optional + + :param modified_at: Timestamp of when the cell was last modified + :type modified_at: datetime, optional + + :param type: Timeline cell content type + :type type: TimelineCellType, optional + """ + if author is not unset: + kwargs["author"] = author + if cell_content is not unset: + kwargs["cell_content"] = cell_content + if created_at is not unset: + kwargs["created_at"] = created_at + if deleted_at is not unset: + kwargs["deleted_at"] = deleted_at + if modified_at is not unset: + kwargs["modified_at"] = modified_at + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/timeline_cell_author.py b/src/datadog_api_client/v2/model/timeline_cell_author.py new file mode 100644 index 0000000000..94b2a51cdc --- /dev/null +++ b/src/datadog_api_client/v2/model/timeline_cell_author.py @@ -0,0 +1,41 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class TimelineCellAuthor(ModelComposed): + def __init__(self, **kwargs): + """ + author of the timeline cell + + :param content: user author content. + :type content: TimelineCellAuthorUserContent, optional + + :param type: user author type. + :type type: TimelineCellAuthorUserType, optional + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.timeline_cell_author_user import TimelineCellAuthorUser + + return { + "oneOf": [ + TimelineCellAuthorUser, + ], + } diff --git a/src/datadog_api_client/v2/model/timeline_cell_author_user.py b/src/datadog_api_client/v2/model/timeline_cell_author_user.py new file mode 100644 index 0000000000..1ad3902245 --- /dev/null +++ b/src/datadog_api_client/v2/model/timeline_cell_author_user.py @@ -0,0 +1,56 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.timeline_cell_author_user_content import TimelineCellAuthorUserContent + from datadog_api_client.v2.model.timeline_cell_author_user_type import TimelineCellAuthorUserType + + +class TimelineCellAuthorUser(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.timeline_cell_author_user_content import TimelineCellAuthorUserContent + from datadog_api_client.v2.model.timeline_cell_author_user_type import TimelineCellAuthorUserType + + return { + "content": (TimelineCellAuthorUserContent,), + "type": (TimelineCellAuthorUserType,), + } + + attribute_map = { + "content": "content", + "type": "type", + } + + def __init__( + self_, + content: Union[TimelineCellAuthorUserContent, UnsetType] = unset, + type: Union[TimelineCellAuthorUserType, UnsetType] = unset, + **kwargs, + ): + """ + timeline cell user author + + :param content: user author content. + :type content: TimelineCellAuthorUserContent, optional + + :param type: user author type. + :type type: TimelineCellAuthorUserType, optional + """ + if content is not unset: + kwargs["content"] = content + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/timeline_cell_author_user_content.py b/src/datadog_api_client/v2/model/timeline_cell_author_user_content.py new file mode 100644 index 0000000000..b32f89371f --- /dev/null +++ b/src/datadog_api_client/v2/model/timeline_cell_author_user_content.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TimelineCellAuthorUserContent(ModelNormal): + @cached_property + def openapi_types(_): + return { + "email": (str,), + "handle": (str,), + "id": (str,), + "name": (str,), + } + + attribute_map = { + "email": "email", + "handle": "handle", + "id": "id", + "name": "name", + } + + def __init__( + self_, + email: Union[str, UnsetType] = unset, + handle: Union[str, UnsetType] = unset, + id: Union[str, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + user author content. + + :param email: user email + :type email: str, optional + + :param handle: user handle + :type handle: str, optional + + :param id: user UUID + :type id: str, optional + + :param name: user name + :type name: str, optional + """ + if email is not unset: + kwargs["email"] = email + if handle is not unset: + kwargs["handle"] = handle + if id is not unset: + kwargs["id"] = id + if name is not unset: + kwargs["name"] = name + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/timeline_cell_author_user_type.py b/src/datadog_api_client/v2/model/timeline_cell_author_user_type.py new file mode 100644 index 0000000000..d15571e252 --- /dev/null +++ b/src/datadog_api_client/v2/model/timeline_cell_author_user_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class TimelineCellAuthorUserType(ModelSimple): + """ + user author type. + + :param value: If omitted defaults to "USER". Must be one of ["USER"]. + :type value: str + """ + + allowed_values = { + "USER", + } + USER: ClassVar["TimelineCellAuthorUserType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +TimelineCellAuthorUserType.USER = TimelineCellAuthorUserType("USER") diff --git a/src/datadog_api_client/v2/model/timeline_cell_content.py b/src/datadog_api_client/v2/model/timeline_cell_content.py new file mode 100644 index 0000000000..86d5d8d47b --- /dev/null +++ b/src/datadog_api_client/v2/model/timeline_cell_content.py @@ -0,0 +1,38 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class TimelineCellContent(ModelComposed): + def __init__(self, **kwargs): + """ + timeline cell content + + :param message: comment message + :type message: str, optional + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.timeline_cell_content_comment import TimelineCellContentComment + + return { + "oneOf": [ + TimelineCellContentComment, + ], + } diff --git a/src/datadog_api_client/v2/model/timeline_cell_content_comment.py b/src/datadog_api_client/v2/model/timeline_cell_content_comment.py new file mode 100644 index 0000000000..dd17fb5510 --- /dev/null +++ b/src/datadog_api_client/v2/model/timeline_cell_content_comment.py @@ -0,0 +1,36 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TimelineCellContentComment(ModelNormal): + @cached_property + def openapi_types(_): + return { + "message": (str,), + } + + attribute_map = { + "message": "message", + } + + def __init__(self_, message: Union[str, UnsetType] = unset, **kwargs): + """ + comment content + + :param message: comment message + :type message: str, optional + """ + if message is not unset: + kwargs["message"] = message + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/timeline_cell_resource.py b/src/datadog_api_client/v2/model/timeline_cell_resource.py new file mode 100644 index 0000000000..ef37d1708e --- /dev/null +++ b/src/datadog_api_client/v2/model/timeline_cell_resource.py @@ -0,0 +1,54 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.timeline_cell import TimelineCell + from datadog_api_client.v2.model.timeline_cell_resource_type import TimelineCellResourceType + + +class TimelineCellResource(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.timeline_cell import TimelineCell + from datadog_api_client.v2.model.timeline_cell_resource_type import TimelineCellResourceType + + return { + "attributes": (TimelineCell,), + "id": (str,), + "type": (TimelineCellResourceType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__(self_, attributes: TimelineCell, id: str, type: TimelineCellResourceType, **kwargs): + """ + Timeline cell JSON:API resource + + :param attributes: timeline cell + :type attributes: TimelineCell + + :param id: Timeline cell's identifier + :type id: str + + :param type: Timeline cell JSON:API resource type + :type type: TimelineCellResourceType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/timeline_cell_resource_type.py b/src/datadog_api_client/v2/model/timeline_cell_resource_type.py new file mode 100644 index 0000000000..822cf468ff --- /dev/null +++ b/src/datadog_api_client/v2/model/timeline_cell_resource_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class TimelineCellResourceType(ModelSimple): + """ + Timeline cell JSON:API resource type + + :param value: If omitted defaults to "timeline_cell". Must be one of ["timeline_cell"]. + :type value: str + """ + + allowed_values = { + "timeline_cell", + } + TIMELINE_CELL: ClassVar["TimelineCellResourceType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +TimelineCellResourceType.TIMELINE_CELL = TimelineCellResourceType("timeline_cell") diff --git a/src/datadog_api_client/v2/model/timeline_cell_type.py b/src/datadog_api_client/v2/model/timeline_cell_type.py new file mode 100644 index 0000000000..9524459304 --- /dev/null +++ b/src/datadog_api_client/v2/model/timeline_cell_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class TimelineCellType(ModelSimple): + """ + Timeline cell content type + + :param value: If omitted defaults to "COMMENT". Must be one of ["COMMENT"]. + :type value: str + """ + + allowed_values = { + "COMMENT", + } + COMMENT: ClassVar["TimelineCellType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +TimelineCellType.COMMENT = TimelineCellType("COMMENT") diff --git a/src/datadog_api_client/v2/model/timeline_response.py b/src/datadog_api_client/v2/model/timeline_response.py new file mode 100644 index 0000000000..71b2c4a0f6 --- /dev/null +++ b/src/datadog_api_client/v2/model/timeline_response.py @@ -0,0 +1,42 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.timeline_cell_resource import TimelineCellResource + + +class TimelineResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.timeline_cell_resource import TimelineCellResource + + return { + "data": ([TimelineCellResource],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[List[TimelineCellResource], UnsetType] = unset, **kwargs): + """ + Timeline response + + :param data: The ``TimelineResponse`` ``data``. + :type data: [TimelineCellResource], optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 52e92ab3f7..3601067787 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -499,6 +499,9 @@ from datadog_api_client.v2.model.case_assign_attributes import CaseAssignAttributes from datadog_api_client.v2.model.case_assign_request import CaseAssignRequest from datadog_api_client.v2.model.case_attributes import CaseAttributes +from datadog_api_client.v2.model.case_comment import CaseComment +from datadog_api_client.v2.model.case_comment_attributes import CaseCommentAttributes +from datadog_api_client.v2.model.case_comment_request import CaseCommentRequest from datadog_api_client.v2.model.case_create import CaseCreate from datadog_api_client.v2.model.case_create_attributes import CaseCreateAttributes from datadog_api_client.v2.model.case_create_relationships import CaseCreateRelationships @@ -3642,6 +3645,17 @@ from datadog_api_client.v2.model.teams_response_meta_pagination import TeamsResponseMetaPagination from datadog_api_client.v2.model.time_restriction import TimeRestriction from datadog_api_client.v2.model.time_restrictions import TimeRestrictions +from datadog_api_client.v2.model.timeline_cell import TimelineCell +from datadog_api_client.v2.model.timeline_cell_author import TimelineCellAuthor +from datadog_api_client.v2.model.timeline_cell_author_user import TimelineCellAuthorUser +from datadog_api_client.v2.model.timeline_cell_author_user_content import TimelineCellAuthorUserContent +from datadog_api_client.v2.model.timeline_cell_author_user_type import TimelineCellAuthorUserType +from datadog_api_client.v2.model.timeline_cell_content import TimelineCellContent +from datadog_api_client.v2.model.timeline_cell_content_comment import TimelineCellContentComment +from datadog_api_client.v2.model.timeline_cell_resource import TimelineCellResource +from datadog_api_client.v2.model.timeline_cell_resource_type import TimelineCellResourceType +from datadog_api_client.v2.model.timeline_cell_type import TimelineCellType +from datadog_api_client.v2.model.timeline_response import TimelineResponse from datadog_api_client.v2.model.timeseries_formula_query_request import TimeseriesFormulaQueryRequest from datadog_api_client.v2.model.timeseries_formula_query_response import TimeseriesFormulaQueryResponse from datadog_api_client.v2.model.timeseries_formula_request import TimeseriesFormulaRequest @@ -4218,6 +4232,9 @@ "CaseAssignAttributes", "CaseAssignRequest", "CaseAttributes", + "CaseComment", + "CaseCommentAttributes", + "CaseCommentRequest", "CaseCreate", "CaseCreateAttributes", "CaseCreateRelationships", @@ -6525,6 +6542,17 @@ "TeamsResponseMetaPagination", "TimeRestriction", "TimeRestrictions", + "TimelineCell", + "TimelineCellAuthor", + "TimelineCellAuthorUser", + "TimelineCellAuthorUserContent", + "TimelineCellAuthorUserType", + "TimelineCellContent", + "TimelineCellContentComment", + "TimelineCellResource", + "TimelineCellResourceType", + "TimelineCellType", + "TimelineResponse", "TimeseriesFormulaQueryRequest", "TimeseriesFormulaQueryResponse", "TimeseriesFormulaRequest", diff --git a/tests/v2/cassettes/test_scenarios/test_archive_case_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_archive_case_returns_bad_request_response.frozen index 081a252dab..f3fa0e5316 100644 --- a/tests/v2/cassettes/test_scenarios/test_archive_case_returns_bad_request_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_archive_case_returns_bad_request_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:40.919Z \ No newline at end of file +2025-08-12T11:05:35.408Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_archive_case_returns_bad_request_response.yaml b/tests/v2/cassettes/test_scenarios/test_archive_case_returns_bad_request_response.yaml index 1243424bfb..375590ba4e 100644 --- a/tests/v2/cassettes/test_scenarios/test_archive_case_returns_bad_request_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_archive_case_returns_bad_request_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"6706fe66-cabd-4b22-b4c5-dd478bba421a","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:41.25066Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"6706fe66-cabd-4b22-b4c5-dd478bba421a","key":"DDFC-72317","merge_status":"NOT_MERGED","priority":"P4","public_id":"72377","status":"OPEN","title":"My + string: '{"data":{"id":"77547410-8537-458a-9384-dcfe251d7c7e","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:35.824748Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"77547410-8537-458a-9384-dcfe251d7c7e","key":"DDFC-75922","merge_status":"NOT_MERGED","priority":"P4","public_id":"75982","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -26,7 +26,7 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/cases/6706fe66-cabd-4b22-b4c5-dd478bba421a/archive + uri: https://api.datadoghq.com/api/v2/cases/77547410-8537-458a-9384-dcfe251d7c7e/archive response: body: string: '{"errors":[{"status":"400","title":"Bad Request","detail":"got type diff --git a/tests/v2/cassettes/test_scenarios/test_archive_case_returns_not_found_response.frozen b/tests/v2/cassettes/test_scenarios/test_archive_case_returns_not_found_response.frozen index 59cf7189df..b797ead06c 100644 --- a/tests/v2/cassettes/test_scenarios/test_archive_case_returns_not_found_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_archive_case_returns_not_found_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:41.730Z \ No newline at end of file +2025-08-12T11:05:36.261Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_archive_case_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_archive_case_returns_ok_response.frozen index 57508d4854..fc598931fb 100644 --- a/tests/v2/cassettes/test_scenarios/test_archive_case_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_archive_case_returns_ok_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:42.155Z \ No newline at end of file +2025-08-12T11:05:36.670Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_archive_case_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_archive_case_returns_ok_response.yaml index 0b48beee56..8cb432ece9 100644 --- a/tests/v2/cassettes/test_scenarios/test_archive_case_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_archive_case_returns_ok_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"b074b409-24f8-42ae-b545-b1486429630d","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:42.51392Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"b074b409-24f8-42ae-b545-b1486429630d","key":"DDFC-72318","merge_status":"NOT_MERGED","priority":"P4","public_id":"72378","status":"OPEN","title":"My + string: '{"data":{"id":"dc347aa5-0e19-44fe-9ba3-0114728a47a1","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:37.067799Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"dc347aa5-0e19-44fe-9ba3-0114728a47a1","key":"DDFC-75923","merge_status":"NOT_MERGED","priority":"P4","public_id":"75983","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -26,10 +26,10 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/cases/b074b409-24f8-42ae-b545-b1486429630d/archive + uri: https://api.datadoghq.com/api/v2/cases/dc347aa5-0e19-44fe-9ba3-0114728a47a1/archive response: body: - string: '{"data":{"id":"b074b409-24f8-42ae-b545-b1486429630d","type":"case","attributes":{"archived_at":"2025-07-21T13:52:42.933945716Z","attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:42.51392Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"b074b409-24f8-42ae-b545-b1486429630d","key":"DDFC-72318","merge_status":"NOT_MERGED","modified_at":"2025-07-21T13:52:42.933946Z","priority":"P4","public_id":"72378","status":"OPEN","title":"My + string: '{"data":{"id":"dc347aa5-0e19-44fe-9ba3-0114728a47a1","type":"case","attributes":{"archived_at":"2025-08-12T11:05:37.477128247Z","attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:37.067799Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"dc347aa5-0e19-44fe-9ba3-0114728a47a1","key":"DDFC-75923","merge_status":"NOT_MERGED","modified_at":"2025-08-12T11:05:37.477128Z","priority":"P4","public_id":"75983","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"modified_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: diff --git a/tests/v2/cassettes/test_scenarios/test_assign_case_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_assign_case_returns_bad_request_response.frozen index 7decaaaea4..88dd0e5d74 100644 --- a/tests/v2/cassettes/test_scenarios/test_assign_case_returns_bad_request_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_assign_case_returns_bad_request_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:43.015Z \ No newline at end of file +2025-08-12T11:05:37.497Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_assign_case_returns_bad_request_response.yaml b/tests/v2/cassettes/test_scenarios/test_assign_case_returns_bad_request_response.yaml index 7772706753..0a3d6ee82c 100644 --- a/tests/v2/cassettes/test_scenarios/test_assign_case_returns_bad_request_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_assign_case_returns_bad_request_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"510b0121-1477-43c0-8986-78f011016d48","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:43.335245Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"510b0121-1477-43c0-8986-78f011016d48","key":"DDFC-72319","merge_status":"NOT_MERGED","priority":"P4","public_id":"72379","status":"OPEN","title":"My + string: '{"data":{"id":"86b3e00d-7c2d-4683-8007-6514c321628a","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:37.877307Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"86b3e00d-7c2d-4683-8007-6514c321628a","key":"DDFC-75924","merge_status":"NOT_MERGED","priority":"P4","public_id":"75984","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -26,7 +26,7 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/cases/510b0121-1477-43c0-8986-78f011016d48/assign + uri: https://api.datadoghq.com/api/v2/cases/86b3e00d-7c2d-4683-8007-6514c321628a/assign response: body: string: '{"errors":[{"status":"400","title":"Bad Request"}]}' diff --git a/tests/v2/cassettes/test_scenarios/test_assign_case_returns_not_found_response.frozen b/tests/v2/cassettes/test_scenarios/test_assign_case_returns_not_found_response.frozen index 067940f74d..d79511d11d 100644 --- a/tests/v2/cassettes/test_scenarios/test_assign_case_returns_not_found_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_assign_case_returns_not_found_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:43.820Z \ No newline at end of file +2025-08-12T11:05:38.270Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_assign_case_returns_not_found_response.yaml b/tests/v2/cassettes/test_scenarios/test_assign_case_returns_not_found_response.yaml index cb0bf4b840..235607e8b7 100644 --- a/tests/v2/cassettes/test_scenarios/test_assign_case_returns_not_found_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_assign_case_returns_not_found_response.yaml @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"email":"Test-Assign_case_returns_Not_Found_response-1753105963@datadoghq.com","title":"user + body: '{"data":{"attributes":{"email":"Test-Assign_case_returns_Not_Found_response-1754996738@datadoghq.com","title":"user title"},"type":"users"}}' headers: accept: @@ -11,7 +11,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/users response: body: - string: '{"data":{"type":"users","id":"fa033cd0-6639-11f0-b658-96290b93dbfc","attributes":{"name":null,"handle":"test-assign_case_returns_not_found_response-1753105963@datadoghq.com","created_at":"2025-07-21T13:52:44.217086+00:00","modified_at":"2025-07-21T13:52:44.217086+00:00","email":"test-assign_case_returns_not_found_response-1753105963@datadoghq.com","icon":"https://secure.gravatar.com/avatar/de9eda912656e39d585005ddc0880775?s=48&d=retro","title":"user + string: '{"data":{"type":"users","id":"476d5d56-776c-11f0-a31d-56cf0fbed926","attributes":{"name":null,"handle":"test-assign_case_returns_not_found_response-1754996738@datadoghq.com","created_at":"2025-08-12T11:05:38.700864+00:00","modified_at":"2025-08-12T11:05:38.700864+00:00","email":"test-assign_case_returns_not_found_response-1754996738@datadoghq.com","icon":"https://secure.gravatar.com/avatar/281d9039509c05094e8235c264fd4263?s=48&d=retro","title":"user title","verified":false,"service_account":false,"disabled":false,"allowed_login_methods":[],"status":"Pending"},"relationships":{"roles":{"data":[]},"org":{"data":{"type":"orgs","id":"4dee724d-00cc-11ea-a77b-570c9d03c6c5"}}}}} ' @@ -22,7 +22,7 @@ interactions: code: 201 message: Created - request: - body: '{"data":{"attributes":{"assignee_id":"fa033cd0-6639-11f0-b658-96290b93dbfc"},"type":"case"}}' + body: '{"data":{"attributes":{"assignee_id":"476d5d56-776c-11f0-a31d-56cf0fbed926"},"type":"case"}}' headers: accept: - application/json @@ -45,7 +45,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/users/fa033cd0-6639-11f0-b658-96290b93dbfc + uri: https://api.datadoghq.com/api/v2/users/476d5d56-776c-11f0-a31d-56cf0fbed926 response: body: string: '' diff --git a/tests/v2/cassettes/test_scenarios/test_assign_case_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_assign_case_returns_ok_response.frozen index 4e634aa5c5..265684e955 100644 --- a/tests/v2/cassettes/test_scenarios/test_assign_case_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_assign_case_returns_ok_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:45.309Z \ No newline at end of file +2025-08-12T11:05:39.662Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_assign_case_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_assign_case_returns_ok_response.yaml index 15dc415d47..096b70534a 100644 --- a/tests/v2/cassettes/test_scenarios/test_assign_case_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_assign_case_returns_ok_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"fd1228dc-d475-4a0b-8677-7a9ce3b50b3d","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:45.654592Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"fd1228dc-d475-4a0b-8677-7a9ce3b50b3d","key":"DDFC-72320","merge_status":"NOT_MERGED","priority":"P4","public_id":"72380","status":"OPEN","title":"My + string: '{"data":{"id":"01a3276d-e609-4d6b-bfa4-a3af4585aeff","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:40.05498Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"01a3276d-e609-4d6b-bfa4-a3af4585aeff","key":"DDFC-75925","merge_status":"NOT_MERGED","priority":"P4","public_id":"75985","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -19,7 +19,7 @@ interactions: code: 201 message: Created - request: - body: '{"data":{"attributes":{"email":"Test-Assign_case_returns_OK_response-1753105965@datadoghq.com","title":"user + body: '{"data":{"attributes":{"email":"Test-Assign_case_returns_OK_response-1754996739@datadoghq.com","title":"user title"},"type":"users"}}' headers: accept: @@ -30,7 +30,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/users response: body: - string: '{"data":{"type":"users","id":"fb218c6d-6639-11f0-a2d3-1a819e56f795","attributes":{"name":null,"handle":"test-assign_case_returns_ok_response-1753105965@datadoghq.com","created_at":"2025-07-21T13:52:46.093451+00:00","modified_at":"2025-07-21T13:52:46.093451+00:00","email":"test-assign_case_returns_ok_response-1753105965@datadoghq.com","icon":"https://secure.gravatar.com/avatar/a6015cb53f5ee1693a8a69c8f6904fae?s=48&d=retro","title":"user + string: '{"data":{"type":"users","id":"48886112-776c-11f0-a31d-56cf0fbed926","attributes":{"name":null,"handle":"test-assign_case_returns_ok_response-1754996739@datadoghq.com","created_at":"2025-08-12T11:05:40.555626+00:00","modified_at":"2025-08-12T11:05:40.555626+00:00","email":"test-assign_case_returns_ok_response-1754996739@datadoghq.com","icon":"https://secure.gravatar.com/avatar/4153187a90e0a13181c322ee071aff0e?s=48&d=retro","title":"user title","verified":false,"service_account":false,"disabled":false,"allowed_login_methods":[],"status":"Pending"},"relationships":{"roles":{"data":[]},"org":{"data":{"type":"orgs","id":"4dee724d-00cc-11ea-a77b-570c9d03c6c5"}}}}} ' @@ -41,18 +41,18 @@ interactions: code: 201 message: Created - request: - body: '{"data":{"attributes":{"assignee_id":"fb218c6d-6639-11f0-a2d3-1a819e56f795"},"type":"case"}}' + body: '{"data":{"attributes":{"assignee_id":"48886112-776c-11f0-a31d-56cf0fbed926"},"type":"case"}}' headers: accept: - application/json content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/cases/fd1228dc-d475-4a0b-8677-7a9ce3b50b3d/assign + uri: https://api.datadoghq.com/api/v2/cases/01a3276d-e609-4d6b-bfa4-a3af4585aeff/assign response: body: - string: '{"data":{"id":"fd1228dc-d475-4a0b-8677-7a9ce3b50b3d","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:45.654592Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"fd1228dc-d475-4a0b-8677-7a9ce3b50b3d","key":"DDFC-72320","merge_status":"NOT_MERGED","modified_at":"2025-07-21T13:52:46.52116Z","priority":"P4","public_id":"72380","status":"OPEN","title":"My - new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"assignee":{"data":{"id":"fb218c6d-6639-11f0-a2d3-1a819e56f795","type":"user"}},"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"modified_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}},{"id":"fb218c6d-6639-11f0-a2d3-1a819e56f795","type":"user","attributes":{"active":false,"email":"test-assign_case_returns_ok_response-1753105965@datadoghq.com","handle":"test-assign_case_returns_ok_response-1753105965@datadoghq.com","name":""}}]}' + string: '{"data":{"id":"01a3276d-e609-4d6b-bfa4-a3af4585aeff","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:40.05498Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"01a3276d-e609-4d6b-bfa4-a3af4585aeff","key":"DDFC-75925","merge_status":"NOT_MERGED","modified_at":"2025-08-12T11:05:40.996328Z","priority":"P4","public_id":"75985","status":"OPEN","title":"My + new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"assignee":{"data":{"id":"48886112-776c-11f0-a31d-56cf0fbed926","type":"user"}},"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"modified_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}},{"id":"48886112-776c-11f0-a31d-56cf0fbed926","type":"user","attributes":{"active":false,"email":"test-assign_case_returns_ok_response-1754996739@datadoghq.com","handle":"test-assign_case_returns_ok_response-1754996739@datadoghq.com","name":""}}]}' headers: content-type: - application/vnd.api+json @@ -65,7 +65,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/users/fb218c6d-6639-11f0-a2d3-1a819e56f795 + uri: https://api.datadoghq.com/api/v2/users/48886112-776c-11f0-a31d-56cf0fbed926 response: body: string: '' diff --git a/tests/v2/cassettes/test_scenarios/test_comment_case_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_comment_case_returns_bad_request_response.frozen new file mode 100644 index 0000000000..da0a2345c0 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_comment_case_returns_bad_request_response.frozen @@ -0,0 +1 @@ +2025-08-12T11:05:41.562Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_comment_case_returns_bad_request_response.yaml b/tests/v2/cassettes/test_scenarios/test_comment_case_returns_bad_request_response.yaml new file mode 100644 index 0000000000..19e1441ce9 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_comment_case_returns_bad_request_response.yaml @@ -0,0 +1,39 @@ +interactions: +- request: + body: '{"data":{"attributes":{"priority":"P4","title":"My new case","type":"STANDARD"},"relationships":{"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}},"type":"case"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/cases + response: + body: + string: '{"data":{"id":"059436d1-1499-4fd3-804d-5baccc7630b4","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:41.952059Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"059436d1-1499-4fd3-804d-5baccc7630b4","key":"DDFC-75926","merge_status":"NOT_MERGED","priority":"P4","public_id":"75986","status":"OPEN","title":"My + new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"comment":""},"type":"case"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/cases/059436d1-1499-4fd3-804d-5baccc7630b4/comment + response: + body: + string: '{"errors":[{"status":"400","title":"Bad Request"}]}' + headers: + content-type: + - application/vnd.api+json + status: + code: 400 + message: Bad Request +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_comment_case_returns_not_found_response.frozen b/tests/v2/cassettes/test_scenarios/test_comment_case_returns_not_found_response.frozen new file mode 100644 index 0000000000..1fef14cdc8 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_comment_case_returns_not_found_response.frozen @@ -0,0 +1 @@ +2025-08-12T11:05:42.357Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_comment_case_returns_not_found_response.yaml b/tests/v2/cassettes/test_scenarios/test_comment_case_returns_not_found_response.yaml new file mode 100644 index 0000000000..5f7aaffd4b --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_comment_case_returns_not_found_response.yaml @@ -0,0 +1,20 @@ +interactions: +- request: + body: '{"data":{"attributes":{"comment":"Hello world !"},"type":"case"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/cases/67d80aa3-36ff-44b9-a694-c501a7591737/comment + response: + body: + string: '{"errors":[{"code":"resource_not_found","title":"case not found"}]}' + headers: + content-type: + - application/vnd.api+json + status: + code: 404 + message: Not Found +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_comment_case_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_comment_case_returns_ok_response.frozen new file mode 100644 index 0000000000..2c3aec06c0 --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_comment_case_returns_ok_response.frozen @@ -0,0 +1 @@ +2025-08-12T11:05:42.731Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_comment_case_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_comment_case_returns_ok_response.yaml new file mode 100644 index 0000000000..f51984dc8a --- /dev/null +++ b/tests/v2/cassettes/test_scenarios/test_comment_case_returns_ok_response.yaml @@ -0,0 +1,40 @@ +interactions: +- request: + body: '{"data":{"attributes":{"priority":"P4","title":"My new case","type":"STANDARD"},"relationships":{"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}},"type":"case"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/cases + response: + body: + string: '{"data":{"id":"b69c5616-c246-4650-bf25-affaf5d9454e","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:43.101473Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"b69c5616-c246-4650-bf25-affaf5d9454e","key":"DDFC-75927","merge_status":"NOT_MERGED","priority":"P4","public_id":"75987","status":"OPEN","title":"My + new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' + headers: + content-type: + - application/vnd.api+json + status: + code: 201 + message: Created +- request: + body: '{"data":{"attributes":{"comment":"Hello World !"},"type":"case"}}' + headers: + accept: + - application/json + content-type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/cases/b69c5616-c246-4650-bf25-affaf5d9454e/comment + response: + body: + string: '{"data":[{"id":"f7623c15-be41-45cd-99bb-9838689cd5cc","type":"timeline_cell","attributes":{"author":{"type":"USER","content":{"ID":"3ad549bf-eba0-11e9-a77a-0705486660d0","name":"frog","email":"frog@datadoghq.com","handle":"frog@datadoghq.com","active":true}},"cell_content":{"message":"Hello + World !"},"content":"{\"message\":\"Hello World !\"}","created_at":"2025-08-12T11:05:43.486353187Z","type":"COMMENT"}}]}' + headers: + content-type: + - application/vnd.api+json + status: + code: 200 + message: OK +version: 1 diff --git a/tests/v2/cassettes/test_scenarios/test_create_a_case_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_a_case_returns_bad_request_response.frozen index 4494f306b1..873480c236 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_a_case_returns_bad_request_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_create_a_case_returns_bad_request_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:47.155Z \ No newline at end of file +2025-08-12T11:05:43.498Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_a_case_returns_created_response.frozen b/tests/v2/cassettes/test_scenarios/test_create_a_case_returns_created_response.frozen index c1e8fb0c3b..932bbf1bdb 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_a_case_returns_created_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_create_a_case_returns_created_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:47.527Z \ No newline at end of file +2025-08-12T11:05:43.859Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_create_a_case_returns_created_response.yaml b/tests/v2/cassettes/test_scenarios/test_create_a_case_returns_created_response.yaml index ee77c5abd5..d0cf6a863f 100644 --- a/tests/v2/cassettes/test_scenarios/test_create_a_case_returns_created_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_create_a_case_returns_created_response.yaml @@ -1,6 +1,6 @@ interactions: - request: - body: '{"data":{"attributes":{"email":"Test-Create_a_case_returns_CREATED_response-1753105967@datadoghq.com","title":"user + body: '{"data":{"attributes":{"email":"Test-Create_a_case_returns_CREATED_response-1754996743@datadoghq.com","title":"user title"},"type":"users"}}' headers: accept: @@ -11,7 +11,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/users response: body: - string: '{"data":{"type":"users","id":"fc35a29f-6639-11f0-8bee-a24ce66fd256","attributes":{"name":null,"handle":"test-create_a_case_returns_created_response-1753105967@datadoghq.com","created_at":"2025-07-21T13:52:47.902815+00:00","modified_at":"2025-07-21T13:52:47.902815+00:00","email":"test-create_a_case_returns_created_response-1753105967@datadoghq.com","icon":"https://secure.gravatar.com/avatar/600ad64c52b4a9b6a9f2a46d8fa9ec0a?s=48&d=retro","title":"user + string: '{"data":{"type":"users","id":"4ac31947-776c-11f0-badd-8e038317dcb3","attributes":{"name":null,"handle":"test-create_a_case_returns_created_response-1754996743@datadoghq.com","created_at":"2025-08-12T11:05:44.295897+00:00","modified_at":"2025-08-12T11:05:44.295897+00:00","email":"test-create_a_case_returns_created_response-1754996743@datadoghq.com","icon":"https://secure.gravatar.com/avatar/15ce20c162e7b9d2bfeeae56fc5a72d1?s=48&d=retro","title":"user title","verified":false,"service_account":false,"disabled":false,"allowed_login_methods":[],"status":"Pending"},"relationships":{"roles":{"data":[]},"org":{"data":{"type":"orgs","id":"4dee724d-00cc-11ea-a77b-570c9d03c6c5"}}}}} ' @@ -23,7 +23,7 @@ interactions: message: Created - request: body: '{"data":{"attributes":{"priority":"NOT_DEFINED","title":"Security breach - investigation in 20df485fb3942e6f","type":"STANDARD"},"relationships":{"assignee":{"data":{"id":"fc35a29f-6639-11f0-8bee-a24ce66fd256","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}},"type":"case"}}' + investigation in 393b7da998da23ad","type":"STANDARD"},"relationships":{"assignee":{"data":{"id":"4ac31947-776c-11f0-badd-8e038317dcb3","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}},"type":"case"}}' headers: accept: - application/json @@ -33,8 +33,8 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"2275ce7b-781b-4539-b0f3-2cc1b2140565","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:48.320633Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"2275ce7b-781b-4539-b0f3-2cc1b2140565","key":"DDFC-72321","merge_status":"NOT_MERGED","priority":"NOT_DEFINED","public_id":"72381","status":"OPEN","title":"Security - breach investigation in 20df485fb3942e6f","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"assignee":{"data":{"id":"fc35a29f-6639-11f0-8bee-a24ce66fd256","type":"user"}},"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}},{"id":"fc35a29f-6639-11f0-8bee-a24ce66fd256","type":"user","attributes":{"active":false,"email":"test-create_a_case_returns_created_response-1753105967@datadoghq.com","handle":"test-create_a_case_returns_created_response-1753105967@datadoghq.com","name":""}}]}' + string: '{"data":{"id":"63b0b4c2-3500-4971-84b6-7a76e9784611","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:44.707022Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"63b0b4c2-3500-4971-84b6-7a76e9784611","key":"DDFC-75928","merge_status":"NOT_MERGED","priority":"NOT_DEFINED","public_id":"75988","status":"OPEN","title":"Security + breach investigation in 393b7da998da23ad","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"assignee":{"data":{"id":"4ac31947-776c-11f0-badd-8e038317dcb3","type":"user"}},"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}},{"id":"4ac31947-776c-11f0-badd-8e038317dcb3","type":"user","attributes":{"active":false,"email":"test-create_a_case_returns_created_response-1754996743@datadoghq.com","handle":"test-create_a_case_returns_created_response-1754996743@datadoghq.com","name":""}}]}' headers: content-type: - application/vnd.api+json @@ -47,7 +47,7 @@ interactions: accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/users/fc35a29f-6639-11f0-8bee-a24ce66fd256 + uri: https://api.datadoghq.com/api/v2/users/4ac31947-776c-11f0-badd-8e038317dcb3 response: body: string: '' diff --git a/tests/v2/cassettes/test_scenarios/test_get_the_details_of_a_case_returns_not_found_response.frozen b/tests/v2/cassettes/test_scenarios/test_get_the_details_of_a_case_returns_not_found_response.frozen index 65a7dda987..cace1b60fc 100644 --- a/tests/v2/cassettes/test_scenarios/test_get_the_details_of_a_case_returns_not_found_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_get_the_details_of_a_case_returns_not_found_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:48.953Z \ No newline at end of file +2025-08-12T11:05:45.261Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_the_details_of_a_case_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_get_the_details_of_a_case_returns_ok_response.frozen index 683f8abed3..7ee81931d3 100644 --- a/tests/v2/cassettes/test_scenarios/test_get_the_details_of_a_case_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_get_the_details_of_a_case_returns_ok_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:49.345Z \ No newline at end of file +2025-08-12T11:05:45.648Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_get_the_details_of_a_case_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_get_the_details_of_a_case_returns_ok_response.yaml index 856b536db5..bb11180711 100644 --- a/tests/v2/cassettes/test_scenarios/test_get_the_details_of_a_case_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_get_the_details_of_a_case_returns_ok_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"5e66536f-3946-41fd-9e0f-183e719d7128","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:49.694835Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"5e66536f-3946-41fd-9e0f-183e719d7128","key":"DDFC-72322","merge_status":"NOT_MERGED","priority":"P4","public_id":"72382","status":"OPEN","title":"My + string: '{"data":{"id":"14ffa380-71ff-4ce5-b134-27e5653f024f","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:46.034839Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"14ffa380-71ff-4ce5-b134-27e5653f024f","key":"DDFC-75929","merge_status":"NOT_MERGED","priority":"P4","public_id":"75989","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -24,10 +24,10 @@ interactions: accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/cases/5e66536f-3946-41fd-9e0f-183e719d7128 + uri: https://api.datadoghq.com/api/v2/cases/14ffa380-71ff-4ce5-b134-27e5653f024f response: body: - string: '{"data":{"id":"5e66536f-3946-41fd-9e0f-183e719d7128","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:49.694835Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"5e66536f-3946-41fd-9e0f-183e719d7128","key":"DDFC-72322","merge_status":"NOT_MERGED","priority":"P4","public_id":"72382","status":"OPEN","title":"My + string: '{"data":{"id":"14ffa380-71ff-4ce5-b134-27e5653f024f","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:46.034839Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"14ffa380-71ff-4ce5-b134-27e5653f024f","key":"DDFC-75929","merge_status":"NOT_MERGED","priority":"P4","public_id":"75989","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: diff --git a/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_bad_request_response.frozen index 22ddf6aec4..99bd47f3c8 100644 --- a/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_bad_request_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_bad_request_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:50.131Z \ No newline at end of file +2025-08-12T11:05:46.427Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_bad_request_response.yaml b/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_bad_request_response.yaml index 03b56cd6c9..d5623cbd0a 100644 --- a/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_bad_request_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_bad_request_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"5fd92551-50b8-46e9-899d-5846cf3eab9e","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:50.459513Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"5fd92551-50b8-46e9-899d-5846cf3eab9e","key":"DDFC-72323","merge_status":"NOT_MERGED","priority":"P4","public_id":"72383","status":"OPEN","title":"My + string: '{"data":{"id":"664ca564-1b8e-42f2-a2d6-becc1f5141c5","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:46.816713Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"664ca564-1b8e-42f2-a2d6-becc1f5141c5","key":"DDFC-75930","merge_status":"NOT_MERGED","priority":"P4","public_id":"75990","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -26,7 +26,7 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/cases/5fd92551-50b8-46e9-899d-5846cf3eab9e/unarchive + uri: https://api.datadoghq.com/api/v2/cases/664ca564-1b8e-42f2-a2d6-becc1f5141c5/unarchive response: body: string: '{"errors":[{"status":"400","title":"Bad Request","detail":"got type diff --git a/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_not_found_response.frozen b/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_not_found_response.frozen index 091e5f1693..e0aa9f7ea3 100644 --- a/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_not_found_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_not_found_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:50.895Z \ No newline at end of file +2025-08-12T11:05:47.190Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_ok_response.frozen index c118a3ee00..7afc324657 100644 --- a/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_ok_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:51.279Z \ No newline at end of file +2025-08-12T11:05:47.609Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_ok_response.yaml index 9cdc21eea2..36d7cb8fae 100644 --- a/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_unarchive_case_returns_ok_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"b6a0f192-9be6-4898-b05b-f4cc308de679","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:51.610535Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"b6a0f192-9be6-4898-b05b-f4cc308de679","key":"DDFC-72324","merge_status":"NOT_MERGED","priority":"P4","public_id":"72384","status":"OPEN","title":"My + string: '{"data":{"id":"2a42b59d-e045-43a9-a643-6d5a18303ca5","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:47.982942Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"2a42b59d-e045-43a9-a643-6d5a18303ca5","key":"DDFC-75931","merge_status":"NOT_MERGED","priority":"P4","public_id":"75991","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -26,10 +26,10 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/cases/b6a0f192-9be6-4898-b05b-f4cc308de679/unarchive + uri: https://api.datadoghq.com/api/v2/cases/2a42b59d-e045-43a9-a643-6d5a18303ca5/unarchive response: body: - string: '{"data":{"id":"b6a0f192-9be6-4898-b05b-f4cc308de679","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:51.610535Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"b6a0f192-9be6-4898-b05b-f4cc308de679","key":"DDFC-72324","merge_status":"NOT_MERGED","priority":"P4","public_id":"72384","status":"OPEN","title":"My + string: '{"data":{"id":"2a42b59d-e045-43a9-a643-6d5a18303ca5","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:47.982942Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"2a42b59d-e045-43a9-a643-6d5a18303ca5","key":"DDFC-75931","merge_status":"NOT_MERGED","priority":"P4","public_id":"75991","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: diff --git a/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_bad_request_response.frozen index 7b3f4dbd14..cce168e52a 100644 --- a/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_bad_request_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_bad_request_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:52.067Z \ No newline at end of file +2025-08-12T11:05:48.411Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_bad_request_response.yaml b/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_bad_request_response.yaml index 033f3b3802..f69095df19 100644 --- a/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_bad_request_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_bad_request_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"6e4af4e8-67fd-461a-9664-adf910673121","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:52.413703Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"6e4af4e8-67fd-461a-9664-adf910673121","key":"DDFC-72325","merge_status":"NOT_MERGED","priority":"P4","public_id":"72385","status":"OPEN","title":"My + string: '{"data":{"id":"9d87c1a7-0b0e-4452-b7a2-e439ffc1d05b","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:48.798612Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"9d87c1a7-0b0e-4452-b7a2-e439ffc1d05b","key":"DDFC-75932","merge_status":"NOT_MERGED","priority":"P4","public_id":"75992","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -26,7 +26,7 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/cases/6e4af4e8-67fd-461a-9664-adf910673121/unassign + uri: https://api.datadoghq.com/api/v2/cases/9d87c1a7-0b0e-4452-b7a2-e439ffc1d05b/unassign response: body: string: '{"errors":[{"status":"400","title":"Bad Request","detail":"got type diff --git a/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_not_found_response.frozen b/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_not_found_response.frozen index d41e392f87..1f6d657413 100644 --- a/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_not_found_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_not_found_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:52.854Z \ No newline at end of file +2025-08-12T11:05:49.167Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_ok_response.frozen index f5e55d1024..3b84e56731 100644 --- a/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_ok_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:53.249Z \ No newline at end of file +2025-08-12T11:05:49.563Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_ok_response.yaml index ce658db5f9..7cb4a40b0e 100644 --- a/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_unassign_case_returns_ok_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"b222e3e7-19fe-434f-ab26-7e0845775ccd","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:53.581415Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"b222e3e7-19fe-434f-ab26-7e0845775ccd","key":"DDFC-72326","merge_status":"NOT_MERGED","priority":"P4","public_id":"72386","status":"OPEN","title":"My + string: '{"data":{"id":"6341e17d-6015-4503-9d83-cc43709cab0b","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:49.930002Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"6341e17d-6015-4503-9d83-cc43709cab0b","key":"DDFC-75933","merge_status":"NOT_MERGED","priority":"P4","public_id":"75993","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -26,10 +26,10 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/cases/b222e3e7-19fe-434f-ab26-7e0845775ccd/unassign + uri: https://api.datadoghq.com/api/v2/cases/6341e17d-6015-4503-9d83-cc43709cab0b/unassign response: body: - string: '{"data":{"id":"b222e3e7-19fe-434f-ab26-7e0845775ccd","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:53.581415Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"b222e3e7-19fe-434f-ab26-7e0845775ccd","key":"DDFC-72326","merge_status":"NOT_MERGED","priority":"P4","public_id":"72386","status":"OPEN","title":"My + string: '{"data":{"id":"6341e17d-6015-4503-9d83-cc43709cab0b","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:49.930002Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"6341e17d-6015-4503-9d83-cc43709cab0b","key":"DDFC-75933","merge_status":"NOT_MERGED","priority":"P4","public_id":"75993","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: diff --git a/tests/v2/cassettes/test_scenarios/test_update_case_attributes_returns_not_found_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_case_attributes_returns_not_found_response.frozen index 9cc9365f13..4e2d4c7d97 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_case_attributes_returns_not_found_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_update_case_attributes_returns_not_found_response.frozen @@ -1 +1 @@ -2025-07-21T08:23:42.266Z \ No newline at end of file +2025-08-12T11:05:50.302Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_case_attributes_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_case_attributes_returns_ok_response.frozen index d438f1b5b2..1bfa40b1c9 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_case_attributes_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_update_case_attributes_returns_ok_response.frozen @@ -1 +1 @@ -2025-07-21T18:43:31.851Z \ No newline at end of file +2025-08-12T11:05:50.669Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_case_attributes_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_case_attributes_returns_ok_response.yaml index fe1f0b530b..cc2ccfe446 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_case_attributes_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_update_case_attributes_returns_ok_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"f396c907-777d-4985-9e9d-2a420a0c0515","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T18:42:41.549781Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"f396c907-777d-4985-9e9d-2a420a0c0515","key":"DDFC-72342","merge_status":"NOT_MERGED","priority":"P4","public_id":"72402","status":"OPEN","title":"My + string: '{"data":{"id":"229bd993-8d76-4813-8146-e1d5aa4c3790","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:51.045003Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"229bd993-8d76-4813-8146-e1d5aa4c3790","key":"DDFC-75934","merge_status":"NOT_MERGED","priority":"P4","public_id":"75994","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -26,10 +26,10 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/cases/f396c907-777d-4985-9e9d-2a420a0c0515/attributes + uri: https://api.datadoghq.com/api/v2/cases/229bd993-8d76-4813-8146-e1d5aa4c3790/attributes response: body: - string: '{"data":{"id":"f396c907-777d-4985-9e9d-2a420a0c0515","type":"case","attributes":{"attributes":{"env":["test"],"service":["web-store","web-api"],"team":["engineer"]},"comment_count":0,"created_at":"2025-07-21T18:42:41.549781Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"f396c907-777d-4985-9e9d-2a420a0c0515","key":"DDFC-72342","merge_status":"NOT_MERGED","modified_at":"2025-07-21T18:42:41.694883Z","priority":"P4","public_id":"72402","status":"OPEN","title":"My + string: '{"data":{"id":"229bd993-8d76-4813-8146-e1d5aa4c3790","type":"case","attributes":{"attributes":{"env":["test"],"service":["web-store","web-api"],"team":["engineer"]},"comment_count":0,"created_at":"2025-08-12T11:05:51.045003Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"229bd993-8d76-4813-8146-e1d5aa4c3790","key":"DDFC-75934","merge_status":"NOT_MERGED","modified_at":"2025-08-12T11:05:51.432359Z","priority":"P4","public_id":"75994","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"modified_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: diff --git a/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_bad_request_response.frozen index 34a73d972c..078a72e0db 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_bad_request_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_bad_request_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:56.000Z \ No newline at end of file +2025-08-12T11:05:51.444Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_bad_request_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_bad_request_response.yaml index d1a0d006e8..3827128386 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_bad_request_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_bad_request_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"57868e9a-2697-4384-b724-8e118b20a7f3","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:56.317328Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"57868e9a-2697-4384-b724-8e118b20a7f3","key":"DDFC-72329","merge_status":"NOT_MERGED","priority":"P4","public_id":"72389","status":"OPEN","title":"My + string: '{"data":{"id":"93122233-1625-4a63-90a2-990c1bf6beec","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:51.814655Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"93122233-1625-4a63-90a2-990c1bf6beec","key":"DDFC-75935","merge_status":"NOT_MERGED","priority":"P4","public_id":"75995","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -26,11 +26,11 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/cases/57868e9a-2697-4384-b724-8e118b20a7f3/priority + uri: https://api.datadoghq.com/api/v2/cases/93122233-1625-4a63-90a2-990c1bf6beec/priority response: body: string: '{"errors":[{"title":"Generic Error","detail":"invalid priority P1234. - Must be one of P2, P3, P4, P5, NOT_DEFINED, P1"}]}' + Must be one of P3, P4, P5, NOT_DEFINED, P1, P2"}]}' headers: content-type: - application/vnd.api+json diff --git a/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_not_found_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_not_found_response.frozen index f6b3d2f698..fbd4940951 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_not_found_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_not_found_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:56.765Z \ No newline at end of file +2025-08-12T11:05:52.193Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_ok_response.frozen index 9b134590a2..9b06a0a3ae 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_ok_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:57.162Z \ No newline at end of file +2025-08-12T11:05:52.560Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_ok_response.yaml index 0dc2947a16..a1b3185658 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_update_case_priority_returns_ok_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"18014b24-6e64-4ca5-8cac-7ccbdd65258b","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:57.488697Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"18014b24-6e64-4ca5-8cac-7ccbdd65258b","key":"DDFC-72330","merge_status":"NOT_MERGED","priority":"P4","public_id":"72390","status":"OPEN","title":"My + string: '{"data":{"id":"6b7941bb-2818-439f-b6d7-d4c557b13f89","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:52.92812Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"6b7941bb-2818-439f-b6d7-d4c557b13f89","key":"DDFC-75936","merge_status":"NOT_MERGED","priority":"P4","public_id":"75996","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -26,10 +26,10 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/cases/18014b24-6e64-4ca5-8cac-7ccbdd65258b/priority + uri: https://api.datadoghq.com/api/v2/cases/6b7941bb-2818-439f-b6d7-d4c557b13f89/priority response: body: - string: '{"data":{"id":"18014b24-6e64-4ca5-8cac-7ccbdd65258b","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:57.488697Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"18014b24-6e64-4ca5-8cac-7ccbdd65258b","key":"DDFC-72330","merge_status":"NOT_MERGED","modified_at":"2025-07-21T13:52:57.885095Z","priority":"P3","public_id":"72390","status":"OPEN","title":"My + string: '{"data":{"id":"6b7941bb-2818-439f-b6d7-d4c557b13f89","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:52.92812Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"6b7941bb-2818-439f-b6d7-d4c557b13f89","key":"DDFC-75936","merge_status":"NOT_MERGED","modified_at":"2025-08-12T11:05:53.31421Z","priority":"P3","public_id":"75996","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"modified_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: diff --git a/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_bad_request_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_bad_request_response.frozen index f149d8dad2..5c05a2c517 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_bad_request_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_bad_request_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:57.959Z \ No newline at end of file +2025-08-12T11:05:53.323Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_bad_request_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_bad_request_response.yaml index b9adfc6c0a..371a466167 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_bad_request_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_bad_request_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"98319575-b53b-43be-96b2-7595a5f1be6c","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:58.293018Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"98319575-b53b-43be-96b2-7595a5f1be6c","key":"DDFC-72331","merge_status":"NOT_MERGED","priority":"P4","public_id":"72391","status":"OPEN","title":"My + string: '{"data":{"id":"b4b4d1fd-0df6-4e62-8c64-e248cdd7f056","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:53.707101Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"b4b4d1fd-0df6-4e62-8c64-e248cdd7f056","key":"DDFC-75937","merge_status":"NOT_MERGED","priority":"P4","public_id":"75997","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -26,12 +26,12 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/cases/98319575-b53b-43be-96b2-7595a5f1be6c/status + uri: https://api.datadoghq.com/api/v2/cases/b4b4d1fd-0df6-4e62-8c64-e248cdd7f056/status response: body: string: '{"errors":[{"title":"Generic Error","detail":"invalid status OPENED. - Must be one of PENDING_APPROVAL, APPROVED, IMPLEMENTING, CANCELLED, SUNKNOWN, - ACKNOWLEDGED, TRIGGERED, RESOLVED, COMPLETED, DECLINED, OPEN, IN_PROGRESS, + Must be one of TRIGGERED, RESOLVED, PENDING_APPROVAL, APPROVED, COMPLETED, + SUNKNOWN, OPEN, ACKNOWLEDGED, IMPLEMENTING, CANCELLED, DECLINED, IN_PROGRESS, CLOSED"}]}' headers: content-type: diff --git a/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_not_found_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_not_found_response.frozen index ca65b4f9cf..b801560140 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_not_found_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_not_found_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:58.721Z \ No newline at end of file +2025-08-12T11:05:54.080Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_ok_response.frozen b/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_ok_response.frozen index 086a7bba2e..e42d286492 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_ok_response.frozen +++ b/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_ok_response.frozen @@ -1 +1 @@ -2025-07-21T13:52:59.116Z \ No newline at end of file +2025-08-12T11:05:54.464Z \ No newline at end of file diff --git a/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_ok_response.yaml b/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_ok_response.yaml index 808952d724..68816a9346 100644 --- a/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_ok_response.yaml +++ b/tests/v2/cassettes/test_scenarios/test_update_case_status_returns_ok_response.yaml @@ -10,7 +10,7 @@ interactions: uri: https://api.datadoghq.com/api/v2/cases response: body: - string: '{"data":{"id":"6d09fb31-6357-4f35-b1af-eaa0047f19f0","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:59.449985Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"6d09fb31-6357-4f35-b1af-eaa0047f19f0","key":"DDFC-72332","merge_status":"NOT_MERGED","priority":"P4","public_id":"72392","status":"OPEN","title":"My + string: '{"data":{"id":"044015c0-63c9-4e7a-bb22-83974581ed55","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:54.852591Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"044015c0-63c9-4e7a-bb22-83974581ed55","key":"DDFC-75938","merge_status":"NOT_MERGED","priority":"P4","public_id":"75998","status":"OPEN","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: @@ -26,10 +26,10 @@ interactions: content-type: - application/json method: POST - uri: https://api.datadoghq.com/api/v2/cases/6d09fb31-6357-4f35-b1af-eaa0047f19f0/status + uri: https://api.datadoghq.com/api/v2/cases/044015c0-63c9-4e7a-bb22-83974581ed55/status response: body: - string: '{"data":{"id":"6d09fb31-6357-4f35-b1af-eaa0047f19f0","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-07-21T13:52:59.449985Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"6d09fb31-6357-4f35-b1af-eaa0047f19f0","key":"DDFC-72332","merge_status":"NOT_MERGED","modified_at":"2025-07-21T13:52:59.835103Z","priority":"P4","public_id":"72392","status":"IN_PROGRESS","title":"My + string: '{"data":{"id":"044015c0-63c9-4e7a-bb22-83974581ed55","type":"case","attributes":{"attributes":{},"comment_count":0,"created_at":"2025-08-12T11:05:54.852591Z","creation_source":"MANUAL","custom_attributes":{},"description":"","insights":[],"internal_id":"044015c0-63c9-4e7a-bb22-83974581ed55","key":"DDFC-75938","merge_status":"NOT_MERGED","modified_at":"2025-08-12T11:05:55.234628Z","priority":"P4","public_id":"75998","status":"IN_PROGRESS","title":"My new case","type":"STANDARD","type_id":"00000000-0000-0000-0000-000000000001"},"relationships":{"created_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"modified_by":{"data":{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user"}},"project":{"data":{"id":"d4bbe1af-f36e-42f1-87c1-493ca35c320e","type":"project"}}}},"included":[{"id":"3ad549bf-eba0-11e9-a77a-0705486660d0","type":"user","attributes":{"active":true,"email":"frog@datadoghq.com","handle":"frog@datadoghq.com","name":"frog"}}]}' headers: content-type: diff --git a/tests/v2/features/case_management.feature b/tests/v2/features/case_management.feature index 58c95f7166..7c07577e67 100644 --- a/tests/v2/features/case_management.feature +++ b/tests/v2/features/case_management.feature @@ -64,6 +64,32 @@ Feature: Case Management When the request is sent Then the response status is 200 OK + @team:DataDog/case-management + Scenario: Comment case returns "Bad Request" response + Given new "CommentCase" request + And there is a valid "case" in the system + And request contains "case_id" parameter from "case.id" + And body with value {"data": {"attributes": {"comment": ""}, "type": "case"}} + When the request is sent + Then the response status is 400 Bad Request + + @team:DataDog/case-management + Scenario: Comment case returns "Not Found" response + Given new "CommentCase" request + And request contains "case_id" parameter with value "67d80aa3-36ff-44b9-a694-c501a7591737" + And body with value {"data": {"attributes": {"comment": "Hello world !"}, "type": "case"}} + When the request is sent + Then the response status is 404 Not Found + + @team:DataDog/case-management + Scenario: Comment case returns "OK" response + Given new "CommentCase" request + And there is a valid "case" in the system + And request contains "case_id" parameter from "case.id" + And body with value {"data": {"attributes": {"comment": "Hello World !"}, "type": "case"}} + When the request is sent + Then the response status is 200 OK + @team:DataDog/case-management Scenario: Create a case returns "Bad Request" response Given new "CreateCase" request diff --git a/tests/v2/features/given.json b/tests/v2/features/given.json index 904a03d759..031635d1a8 100644 --- a/tests/v2/features/given.json +++ b/tests/v2/features/given.json @@ -96,6 +96,23 @@ "tag": "Case Management", "operationId": "CreateCase" }, + { + "parameters": [ + { + "name": "case_id", + "source": "case.id" + }, + { + "name": "body", + "value": "{\n \"data\": {\n \"type\": \"case\",\n \"attributes\": {\n \"comment\": \"This is my new comment !\"\n }\n }\n}" + } + ], + "source": "data[0]", + "step": "there is a valid \"comment\" in the system", + "key": "comment", + "tag": "Case Management", + "operationId": "CommentCase" + }, { "parameters": [ { diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json index fd14fad093..a592953b3e 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -452,6 +452,12 @@ "type": "idempotent" } }, + "CommentCase": { + "tag": "Case Management", + "undo": { + "type": "safe" + } + }, "UpdatePriority": { "tag": "Case Management", "undo": {