Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,11 @@
from sentry.api.exceptions import ResourceDoesNotExist
from sentry.api.serializers import serialize
from sentry.api.utils import to_valid_int_id
from sentry.incidents.endpoints.serializers.incident import DetailedIncidentSerializer
from sentry.incidents.endpoints.serializers.utils import get_object_id_from_fake_id
from sentry.incidents.endpoints.serializers.workflow_engine_incident import (
WorkflowEngineDetailedIncidentSerializer,
)
from sentry.incidents.logic import update_incident_status
from sentry.incidents.models.incident import Incident, IncidentStatus, IncidentStatusMethod
from sentry.incidents.models.incident import Incident, IncidentStatus
from sentry.models.groupopenperiod import GroupOpenPeriod
from sentry.models.organization import Organization
from sentry.workflow_engine.models import IncidentGroupOpenPeriod
Expand Down Expand Up @@ -139,21 +137,3 @@ def get(
incident, request.user, WorkflowEngineDetailedIncidentSerializer(expand=expand)
)
)

@track_alert_endpoint_execution("PUT", "sentry-api-0-organization-incident-details")
def put(self, request: Request, organization: Organization, incident) -> Response:
serializer = IncidentSerializer(data=request.data)
if serializer.is_valid():
result = serializer.validated_data
if result["status"] == IncidentStatus.CLOSED:
incident = update_incident_status(
incident=incident,
status=result["status"],
status_method=IncidentStatusMethod.MANUAL,
)
return Response(
serialize(incident, request.user, DetailedIncidentSerializer()), status=200
)
else:
return Response("Status cannot be changed.", status=400)
return Response(serializer.errors, status=400)
1 change: 0 additions & 1 deletion src/sentry/integrations/messaging/metrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ class MessagingInteractionType(StrEnum):
PROCESS_SHARED_LINK = "PROCESS_SHARED_LINK"
UNFURL_LINK = "UNFURL_LINK"
UNFURL_ISSUES = "UNFURL_ISSUES"
UNFURL_METRIC_ALERTS = "UNFURL_METRIC_ALERTS"
UNFURL_DISCOVER = "UNFURL_DISCOVER"
UNFURL_EXPLORE = "UNFURL_EXPLORE"
UNFURL_DASHBOARDS = "UNFURL_DASHBOARDS"
Comment thread
ceorourke marked this conversation as resolved.
Expand Down
1 change: 0 additions & 1 deletion src/sentry/integrations/slack/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
from .requests.event import * # noqa: F401,F403
from .unfurl.discover import * # noqa: F401,F403
from .unfurl.issues import * # noqa: F401,F403
from .unfurl.metric_alerts import * # noqa: F401,F403
from .urls import * # noqa: F401,F403
from .utils.auth import * # noqa: F401,F403
from .utils.channel import * # noqa: F401,F403
Expand Down
2 changes: 0 additions & 2 deletions src/sentry/integrations/slack/unfurl/handlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,12 @@
from sentry.integrations.slack.unfurl.discover import discover_handler
from sentry.integrations.slack.unfurl.explore import explore_handler
from sentry.integrations.slack.unfurl.issues import issues_handler
from sentry.integrations.slack.unfurl.metric_alerts import metric_alert_handler
from sentry.integrations.slack.unfurl.types import Handler, LinkType

link_handlers: dict[LinkType, Handler] = {
LinkType.EXPLORE: explore_handler,
LinkType.DASHBOARDS: dashboards_handler,
LinkType.DISCOVER: discover_handler,
LinkType.METRIC_ALERT: metric_alert_handler,
LinkType.ISSUES: issues_handler,
}

Expand Down
196 changes: 0 additions & 196 deletions src/sentry/integrations/slack/unfurl/metric_alerts.py

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from sentry.incidents.endpoints.serializers.utils import get_fake_id_from_object_id
from sentry.incidents.grouptype import MetricIssue
from sentry.incidents.models.incident import Incident, IncidentStatus
from sentry.incidents.models.incident import IncidentStatus
from sentry.models.groupopenperiod import GroupOpenPeriod
from sentry.testutils.abstract import Abstract
from sentry.testutils.cases import APITestCase
Expand Down Expand Up @@ -100,37 +100,3 @@ def test_fake_id_cross_org_returns_404(self) -> None:

resp = self.get_response(other_org.slug, fake_id)
assert resp.status_code == 404


class OrganizationIncidentUpdateStatusTest(BaseIncidentDetailsTest):
method = "put"

def get_success_response(self, *args, **params):
params.setdefault("status", IncidentStatus.CLOSED.value)
return super().get_success_response(*args, **params)

def test_simple(self) -> None:
incident = self.create_incident()
with self.feature("organizations:incidents"):
self.get_success_response(
incident.organization.slug, incident.identifier, status=IncidentStatus.CLOSED.value
)

incident = Incident.objects.get(id=incident.id)
assert incident.status == IncidentStatus.CLOSED.value

def test_cannot_open(self) -> None:
incident = self.create_incident()
with self.feature("organizations:incidents"):
resp = self.get_response(
incident.organization.slug, incident.identifier, status=IncidentStatus.OPEN.value
)
assert resp.status_code == 400
assert resp.data.startswith("Status cannot be changed")

def test_invalid_status(self) -> None:
incident = self.create_incident()
with self.feature("organizations:incidents"):
resp = self.get_response(incident.organization.slug, incident.identifier, status=5000)
assert resp.status_code == 400
assert resp.data["status"][0].startswith("Invalid value for status")
Loading
Loading