Repository navigation
feat(api-docs): Build the API reference from @sentry/api/docs - #20679
Open
sentry-junior[bot] wants to merge 3 commits into
Open
sentry-junior[bot] wants to merge 3 commits into
sentry-junior[bot] wants to merge 3 commits into
Conversation
Read the API reference data from the pinned @sentry/api package instead of fetching openapi-derefed.json from a pinned sentry-api-schema commit. OPENAPI_LOCAL_PATH still previews a local spec, through the package's extractDocs(). Replace the API Schema SHA bump with a @sentry/api version bump that runs hourly and on dispatch. Co-Authored-By: BYK <126780+BYK@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
Contributor
|
Please update the IS YOUR CHANGE URGENT? section of the PR description:
This information helps the Docs team prioritize your review. |
Contributor
|
Getting ready to monitor this change · Rollout details
|
Contributor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f8dbde4. Configure here.
Co-Authored-By: BYK <126780+BYK@users.noreply.github.com>
…sentry-api # Conflicts: # src/build/resolveOpenAPI.ts
This branch had an error being deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

The API reference now comes from the
@sentry/apiversion this repo pins. It no longer fetchesopenapi-derefed.jsonfrom a pinned getsentry/sentry-api-schema commit;@sentry/apinow builds in getsentry/sentry (static/packages/api).Important
Don't merge until an
@sentry/apirelease with the./docsexport is on npm. That export comes from getsentry/sentry#130538. This PR pins1.58.0, the latest version today, which doesn't have./docsyet, so the build fails until the pin moves. The last step before merging is to run Bump @sentry/api (orpnpm add -E @sentry/api@<first version with ./docs>).Changes
src/build/resolveOpenAPI.tsreads{tags, operations}from@sentry/api/docsand maps them to the sameAPICategory/APIshapes the pages already use.OPENAPI_LOCAL_PATHstill works in development. It reads a localmake build-api-docsspec and runs it through the package'sextractDocs(), so previews take the same path as production.src/build/open-api/types.tsis gone. The package types replace it.bump-api-schema-sha.ymlis now Bump @sentry/api.workflow_dispatch, with a concurrency group so the two can't push the same branch.scripts/bump-sentry-api.shreads the latest version withnpm view, runspnpm add --save-exact --lockfile-only, then opens and merges the PR with the same app token as before.sh, passesshellcheck --shell=sh --enable=check-extra-masked-returns, and has a pre-commit hook scoped to it.develop-docs/backend/api/public.mdx: the build process section describes the new flow, and theopenapi-difftext matches ci(openapi-diff): Compare API schemas with the PR's merge-base sentry#130541: a changelog that never fails, plus a separate RPC breaking-change job. Hold that part until that PR merges.Verification
All of this ran with a locally packed
@sentry/apitarball from that PR. Nothing was published.apiCategories()from the old reader and the new adapter on the same spec. The output has 23 categories and 285 APIs, and is identical except that optional query parameters now haverequired: falsewhere the key used to be missing (494 parameters). The pages check!!param.required, so they render the same. Production data and theOPENAPI_LOCAL_PATHpath give byte-identical output.<main>is byte-identical on/api/users/list-your-organizations/,/api/teams/create-a-new-team/,/api/projects/create-a-custom-inbound-filter/(an experimental endpoint with a body),/api/teams/and/api/events/retrieve-an-issue/.pnpm lint:ts,vitest run src/build/resolveOpenAPI.spec.tsand eslint all pass.npm,pnpm,gitandgh. Same version: it skips. Newer: it runs the full flow. A non-version answer from npm or any failing command: it exits non-zero.pnpm add --lockfile-onlyran for real against a copy of this repo's manifest and lockfile.Screenshots
These are
next devscreenshots at 1400px wide. Before is the current reader on the same spec throughOPENAPI_LOCAL_PATH; after is this PR reading@sentry/api/docs. The images are pixel-identical except for the Next.js dev badge, so two pairs have the same URL.Create a New Team
Create a Custom Inbound Filter (experimental, with a body)
List Your Organizations
Merge order
@sentry/apiversion with./docsis released.Co-Authored-By: BYK 126780+BYK@users.noreply.github.com
via @BYK.
--
View Session in Sentry