Skip to content

Commit 30e36b8

Browse files
authored
ref(preprod): Improve unsupported VCS provider error message (EME-615) (#103143)
## Summary Improves the error message for unsupported VCS providers in the preprod artifact upload endpoint. **Before:** ```json {"error": "Unsupported provider"} ``` **After:** ```json {"error": "Unsupported VCS provider 'git'. Supported providers are: github, gitlab, github_enterprise, bitbucket, bitbucket_server"} ``` This makes it clear: - What provider value was actually sent - What providers are supported - How to fix the issue Fixes EME-615
1 parent 01f5e5b commit 30e36b8

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/sentry/preprod/api/endpoints/organization_preprod_artifact_assemble.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,13 @@ def post(self, request: Request, project: Project) -> Response:
164164
# Support a limited subset of providers
165165
provider = data.get("provider")
166166
if provider is not None and provider not in SUPPORTED_VCS_PROVIDERS:
167-
return Response({"error": "Unsupported provider"}, status=400)
167+
supported_providers = ", ".join(SUPPORTED_VCS_PROVIDERS)
168+
return Response(
169+
{
170+
"error": f"Unsupported VCS provider '{provider}'. Supported providers are: {supported_providers}"
171+
},
172+
status=400,
173+
)
168174

169175
checksum = str(data.get("checksum", ""))
170176
chunks = data.get("chunks", [])

tests/sentry/preprod/api/endpoints/test_organization_preprod_artifact_assemble.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,9 @@ def test_assemble_json_schema_invalid_provider(self) -> None:
355355
HTTP_AUTHORIZATION=f"Bearer {self.token.token}",
356356
)
357357
assert response.status_code == 400, response.content
358-
assert response.data["error"] == "Unsupported provider"
358+
assert "Unsupported VCS provider 'invalid'" in response.data["error"]
359+
assert "Supported providers are:" in response.data["error"]
360+
assert "github" in response.data["error"]
359361

360362
def test_assemble_json_schema_missing_checksum(self) -> None:
361363
"""Test that missing checksum field is rejected."""

0 commit comments

Comments
 (0)