Skip to content

feat(api): Document issue/release/team params; mark legacy endpoints deprecated#117874

Merged
gricha merged 1 commit into
masterfrom
gricha/feat/document-issue-release-team-params
Jun 16, 2026
Merged

feat(api): Document issue/release/team params; mark legacy endpoints deprecated#117874
gricha merged 1 commit into
masterfrom
gricha/feat/document-issue-release-team-params

Conversation

@gricha

@gricha gricha commented Jun 16, 2026

Copy link
Copy Markdown
Member

Surfaces real-but-undocumented params on three public endpoints so the generated OpenAPI schema matches what the handlers already accept, and marks two long-prose-deprecated endpoints with a machine-readable flag. Follow-up to #117843 — that PR added params via @extend_schema, but for these endpoints drf-spectacular can't surface them: the issue/release list schemas come from the hand-authored deprecated API docs, and the team name field was explicitly excluded.

Params documented

  • List a Project's Issuessort and limit (deprecated-docs JSON). sort omits the feature-flagged recommended value per review.
  • List an Organization's Releasesproject and per_page (deprecated-docs JSON).
  • Update a Teamname. Already accepted via the serializer's Meta.fields but hidden by exclude_fields; now an explicit optional field. Runtime validation is unchanged — both callers (TeamDetailsEndpoint.put, SCIM _rename_team_operation) use partial updates.

Deprecation marked (deprecated: true)

  • List a Project's Issues — superseded by the org-scoped issues endpoint.
  • Submit User Feedback — superseded by the User Feedback Widget.

This is a soft-deprecation annotation only: no removal is planned and runtime behavior is unchanged. It makes the existing prose deprecation machine-readable so doc renderers and downstream consumers (e.g. Seer's code-mode typed API library, which derives its surface from this spec) can act on it.

All changes are additive — no params removed, no types narrowed, no new required fields. sentry django spectacular --validate --fail-on-warn passes clean.

@github-actions github-actions Bot added the Scope: Backend Automatically applied to PRs that change backend components label Jun 16, 2026
@gricha gricha marked this pull request as ready for review June 16, 2026 22:11
@gricha gricha requested review from a team as code owners June 16, 2026 22:11
{
"name": "sort",
"in": "query",
"description": "The sort order of the issues. Options include 'Last Seen' (`date`), 'First Seen' (`new`), 'Trends' (`trends`), 'Events' (`freq`), 'Users' (`user`), 'Date Added' (`inbox`), and 'Recommended' (`recommended`).",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

afaik recommended is feature flagged, we can omit it from here. also, this endpoint is deprecated, any new usage should be on the the organization-scoped one

@gricha gricha force-pushed the gricha/feat/document-issue-release-team-params branch from 17d710e to 562c43a Compare June 16, 2026 22:55
…deprecated

Surface real-but-undocumented params on three public endpoints so the
generated OpenAPI schema matches what the handlers already accept:

- List a Project's Issues: `sort` and `limit` (deprecated-docs JSON)
- List an Organization's Releases: `project` and `per_page` (deprecated-docs JSON)
- Update a Team: `name` — was accepted via the serializer's Meta.fields but
  hidden from the schema by `exclude_fields`; now documented as an optional field
  (runtime validation is unchanged; both callers use partial updates)

Also marks two long-prose-deprecated endpoints with a machine-readable
`deprecated: true` — List a Project's Issues (superseded by the org-scoped
issues endpoint) and Submit User Feedback (superseded by the User Feedback
Widget). This is a soft-deprecation annotation only: no removal is planned and
runtime behavior is unchanged; it just makes the existing prose deprecation
machine-readable so doc renderers and downstream consumers can act on it. The
`sort` enum also drops the feature-flagged `recommended` value per review.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
@gricha gricha force-pushed the gricha/feat/document-issue-release-team-params branch from 562c43a to acb35b4 Compare June 16, 2026 23:01
@gricha gricha changed the title feat(api): Document sort/limit, project/per_page, and team name params feat(api): Document issue/release/team params; mark legacy endpoints deprecated Jun 16, 2026
@gricha gricha merged commit 558391b into master Jun 16, 2026
64 of 65 checks passed
@gricha gricha deleted the gricha/feat/document-issue-release-team-params branch June 16, 2026 23:12
billyvg pushed a commit that referenced this pull request Jun 17, 2026
…deprecated (#117874)

Surfaces real-but-undocumented params on three public endpoints so the
generated OpenAPI schema matches what the handlers already accept, and
marks two long-prose-deprecated endpoints with a machine-readable flag.
Follow-up to #117843 — that PR added params via `@extend_schema`, but
for these endpoints drf-spectacular can't surface them: the
issue/release list schemas come from the hand-authored deprecated API
docs, and the team `name` field was explicitly excluded.

**Params documented**
- **List a Project's Issues** — `sort` and `limit` (deprecated-docs
JSON). `sort` omits the feature-flagged `recommended` value per review.
- **List an Organization's Releases** — `project` and `per_page`
(deprecated-docs JSON).
- **Update a Team** — `name`. Already accepted via the serializer's
`Meta.fields` but hidden by `exclude_fields`; now an explicit optional
field. Runtime validation is unchanged — both callers
(`TeamDetailsEndpoint.put`, SCIM `_rename_team_operation`) use partial
updates.

**Deprecation marked** (`deprecated: true`)
- **List a Project's Issues** — superseded by the org-scoped issues
endpoint.
- **Submit User Feedback** — superseded by the User Feedback Widget.

This is a soft-deprecation annotation only: no removal is planned and
runtime behavior is unchanged. It makes the existing prose deprecation
machine-readable so doc renderers and downstream consumers (e.g. Seer's
code-mode typed API library, which derives its surface from this spec)
can act on it.

All changes are additive — no params removed, no types narrowed, no new
required fields. `sentry django spectacular --validate --fail-on-warn`
passes clean.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
sehr-m pushed a commit that referenced this pull request Jun 23, 2026
…deprecated (#117874)

Surfaces real-but-undocumented params on three public endpoints so the
generated OpenAPI schema matches what the handlers already accept, and
marks two long-prose-deprecated endpoints with a machine-readable flag.
Follow-up to #117843 — that PR added params via `@extend_schema`, but
for these endpoints drf-spectacular can't surface them: the
issue/release list schemas come from the hand-authored deprecated API
docs, and the team `name` field was explicitly excluded.

**Params documented**
- **List a Project's Issues** — `sort` and `limit` (deprecated-docs
JSON). `sort` omits the feature-flagged `recommended` value per review.
- **List an Organization's Releases** — `project` and `per_page`
(deprecated-docs JSON).
- **Update a Team** — `name`. Already accepted via the serializer's
`Meta.fields` but hidden by `exclude_fields`; now an explicit optional
field. Runtime validation is unchanged — both callers
(`TeamDetailsEndpoint.put`, SCIM `_rename_team_operation`) use partial
updates.

**Deprecation marked** (`deprecated: true`)
- **List a Project's Issues** — superseded by the org-scoped issues
endpoint.
- **Submit User Feedback** — superseded by the User Feedback Widget.

This is a soft-deprecation annotation only: no removal is planned and
runtime behavior is unchanged. It makes the existing prose deprecation
machine-readable so doc renderers and downstream consumers (e.g. Seer's
code-mode typed API library, which derives its surface from this spec)
can act on it.

All changes are additive — no params removed, no types narrowed, no new
required fields. `sentry django spectacular --validate --fail-on-warn`
passes clean.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants