Conversation
betegon
force-pushed
the
bt/cli-issue-link-unlink
branch
from
October 2, 2026 17:22
717a2fa to
6bca776
Compare
betegon
force-pushed
the
bt/cli-issue-unlink
branch
from
October 2, 2026 17:54
e4e94e4 to
3bb7b24
Compare
betegon
force-pushed
the
bt/cli-issue-link-unlink
branch
from
October 5, 2026 10:01
8af0cc3 to
3321a95
Compare
betegon
force-pushed
the
bt/cli-issue-unlink
branch
3 times, most recently
from
October 5, 2026 13:23
b87b442 to
0c61a96
Compare
betegon
added a commit
that referenced
this pull request
Oct 5, 2026
Adds `sentry issue link <issue> <url>` to associate an existing tracker issue or GitHub pull request with a Sentry issue. Supports `--dry-run`, JSON output, and selectors for installations that match the same URL. All requests use [`@sentry/api`](https://www.npmjs.com/package/@sentry/api). Native integrations receive the full URL for server-side resolution; Linear and other installed Sentry Apps use their link forms, including required fields and the backend URL guard against replacing a different association. HTTP 201/200 determines whether the link changed. GitHub PRs are references and do not resolve the Sentry issue. Linking requires `event:write` and project access; App discovery also needs `org:read`. Both scopes are included in the default OAuth login. Uses the CLI's existing retry and cache behavior. This PR now contains **link only**. Unlink is in the separate stacked PR #1376, which reuses the integration discovery and URL matching. Updated to current `main`, including the independent final-attempt 401 fix in #1370. Validated with focused tests, typechecks, lint, generated docs/SDK, and the bundled CLI against local HTTP fixtures. The full CLI suite passes apart from the pre-existing macOS musl installer test failure; no production deletion was performed. --------- Co-authored-by: GPT-6 <noreply@openai.com>
Remove stored external issue associations through @sentry/api, reusing link discovery and URL matching. Preserve standard deletion confirmation, dry-run previews, and successful no-ops when an association is absent. Co-Authored-By: GPT-6 <noreply@openai.com>
betegon
force-pushed
the
bt/cli-issue-unlink
branch
from
October 5, 2026 19:52
0c61a96 to
2d0e20f
Compare
betegon
marked this pull request as ready for review
October 5, 2026 20:02
This branch has not been 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.
Adds
sentry issue unlink <issue> <url>to remove an external tracker issue or GitHub pull request association without deleting either issue or changing the Sentry issue's status. Uses the CLI's standard confirmation flow,--yes,--dry-run, and JSON output; an already-absent link succeeds withchanged: false.Reuses the existing link discovery, URL matching, formatting, and cache invalidation.
@sentry/apisends Sentry's stored association ID to the native or App DELETE endpoint, so unlinking does not need a working remote ticket or an App link form. Requiresevent:writeand project access; older Sentry versions may still requireevent:admin. Keeps the CLI's standard retry and cache behavior.Validated with 216 focused tests, CLI typecheck, root and CLI lint, generated docs/SDK, and 12 bundled CLI calls against local HTTP fixtures. No production deletion was performed.
The full CLI suite has 10,431 passing tests, 14 skipped, and the pre-existing musl installer test failure (release-registry/GitHub version lookup). This stops the recursive monorepo test run; the installer files are unchanged by this PR.