Skip to content

feat(tools): add get_issue_external_links tool for Jira/GitHub integration#711

Closed
karandeep-johar wants to merge 1 commit intogetsentry:mainfrom
karandeep-johar:feature/external-issue-links
Closed

feat(tools): add get_issue_external_links tool for Jira/GitHub integration#711
karandeep-johar wants to merge 1 commit intogetsentry:mainfrom
karandeep-johar:feature/external-issue-links

Conversation

@karandeep-johar
Copy link
Copy Markdown

Summary

Adds new MCP tool get_issue_external_links to retrieve external issue tracking links (Jira, GitHub Issues, GitLab, etc.) connected to Sentry issues.

Context

Currently, when analyzing Sentry issues, there's no way to determine if a Jira ticket or other external issue tracker link exists. This makes it difficult to coordinate between error tracking and project management systems.

Key Changes

  • API Client: Added getIssueExternalLinks() method calling GET /api/0/organizations/{org}/issues/{id}/external-issues/
  • Schema: Added ExternalIssueSchema and ExternalIssueListSchema for response validation
  • Types: Added ExternalIssue and ExternalIssueList type exports
  • New Tool: Created get_issue_external_links tool with full documentation, examples, and hints
  • Tests: Added comprehensive test coverage for success, error, and URL parameter cases
  • Scopes: Requires event:read permission

Use Cases

This tool enables users to:

  • Check if a Jira ticket exists for a Sentry issue
  • Find linked GitHub/GitLab issues
  • View all external issue tracking links
  • Coordinate between error tracking and project management

Testing

Added comprehensive unit tests covering:

  • Successful retrieval of multiple external issues
  • Empty response handling
  • URL parameter extraction
  • Error validation (missing parameters, 404 errors)

Co-authored-by: Claude Sonnet 4.5 noreply@anthropic.com

…ation

## Summary

Adds new MCP tool `get_issue_external_links` to retrieve external issue
tracking links (Jira, GitHub Issues, GitLab, etc.) connected to Sentry
issues.

### Context

Currently, when analyzing Sentry issues, there's no way to determine if
a Jira ticket or other external issue tracker link exists. This makes it
difficult to coordinate between error tracking and project management
systems.

### Key Changes

- **API Client**: Added `getIssueExternalLinks()` method calling `GET
/api/0/organizations/{org}/issues/{id}/external-issues/`
- **Schema**: Added `ExternalIssueSchema` and `ExternalIssueListSchema`
for response validation
- **Types**: Added `ExternalIssue` and `ExternalIssueList` type exports
- **New Tool**: Created `get_issue_external_links` tool with full
documentation, examples, and hints
- **Tests**: Added comprehensive test coverage for success, error, and URL
parameter cases
- **Scopes**: Requires `event:read` permission

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
@dcramer
Copy link
Copy Markdown
Member

dcramer commented Jan 13, 2026

This goes against our philosophy in this project of keeping the MCP light. We can pull them into the get-issue-details tool as an alternative. We want to minimize tool exposure though and keep the responses tight and curated.

dcramer added a commit that referenced this pull request Feb 7, 2026
Instead of adding a new tool, integrate external issue links (Jira,
GitHub Issues, GitLab, etc.) directly into get_issue_details output.
External links are fetched in parallel alongside autofix state so they
never block the primary response.

Ref: #711

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@dcramer dcramer closed this in #792 Feb 7, 2026
dcramer added a commit that referenced this pull request Feb 7, 2026
Integrate external issue links (Jira, GitHub Issues, GitLab, etc.)
directly
into the `get_issue_details` tool response rather than adding a new
tool.
This keeps the tool count low while still exposing the data users need
to
coordinate between Sentry and their project management systems.

External links are fetched in parallel with the existing Seer autofix
state
call via a new `fetchIssueEnrichmentData` helper, so they never block
the
primary response. If the endpoint fails or the org has no integrations,
the section is simply omitted.

Fixes #711

---------

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants