diff --git a/src/sentry/api/endpoints/release_deploys.py b/src/sentry/api/endpoints/release_deploys.py index 4a44ed7e529e31..f1d2559bb1a58b 100644 --- a/src/sentry/api/endpoints/release_deploys.py +++ b/src/sentry/api/endpoints/release_deploys.py @@ -1,6 +1,5 @@ from __future__ import absolute_import -from django.db import IntegrityError, transaction from django.db.models import F from django.utils import timezone @@ -103,27 +102,15 @@ def post(self, request, organization, version): for project in projects: env.add_project(project) - try: - with transaction.atomic(): - deploy, created = Deploy.objects.create( - organization_id=organization.id, - release=release, - environment_id=env.id, - date_finished=result.get('dateFinished', timezone.now()), - date_started=result.get('dateStarted'), - name=result.get('name'), - url=result.get('url'), - ), True - except IntegrityError: - deploy, created = Deploy.objects.get( - organization_id=organization.id, - release=release, - environment_id=env.id, - ), False - deploy.update( - date_finished=result.get('dateFinished', timezone.now()), - date_started=result.get('dateStarted'), - ) + deploy = Deploy.objects.create( + organization_id=organization.id, + release=release, + environment_id=env.id, + date_finished=result.get('dateFinished', timezone.now()), + date_started=result.get('dateStarted'), + name=result.get('name'), + url=result.get('url'), + ) # XXX(dcramer): this has a race for most recent deploy, but # should be unlikely to hit in the real world @@ -134,12 +121,6 @@ def post(self, request, organization, version): Deploy.notify_if_ready(deploy.id) - # This is the closest status code that makes sense, and we want - # a unique 2xx response code so people can understand when - # behavior differs. - # 208 Already Reported (WebDAV; RFC 5842) - status = 201 if created else 208 - - return Response(serialize(deploy, request.user), status=status) + return Response(serialize(deploy, request.user), status=201) return Response(serializer.errors, status=400)