Skip to content

feat(integrations): accept Azure DevOps work item URLs when linking - #124308

Merged
betegon merged 5 commits into
masterfrom
bt/issue-link-azure-urls
Sep 15, 2026
Merged

betegon merged 5 commits into
masterfrom
bt/issue-link-azure-urls

Conversation

@betegon

@betegon betegon commented Sep 14, 2026 •

Copy link
Copy Markdown
Member

Accept Azure DevOps work item URLs in the existing issue-linking PUT. Support both dev.azure.com and *.visualstudio.com links for the selected account, including project-scoped URLs, and resolve them to the existing work item ID.

Preserve the installation's account, scheme, and port checks before using the existing linking flow.

Uses the shared URL-linking support merged in #124067. This diff contains only the Azure DevOps implementation and tests.

Validation: 67 tests passed across the issue-integration endpoint and Azure DevOps issue integration, including successful PUTs using both URL styles against a mixed-case installation. Targeted mypy, prek, and diff checks passed.

@github-actions github-actions Bot added the Scope: Backend Automatically applied to PRs that change backend components label Sep 14, 2026
@sentry

sentry Bot commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Sentry Snapshot Testing

Name Added Removed Changed Renamed Unchanged Skipped Status
sentry-frontend
sentry-frontend
- - - - - - ⏳ Processing

⚙️ sentry-frontend Snapshot Settings

betegon added a commit that referenced this pull request Sep 14, 2026
…24067)

The issue-linking PUT now accepts a full Jira or Jira Server URL in
`externalIssue`, using the selected installation to resolve it before
running the existing linking flow. This lets API callers submit the same
URLs users paste into the issue selector.

Reuses `parse_jira_issue_key()` from #123389, which previously handled
search/autocomplete. The origin calculation is shared with URL
validation while the existing search parser keeps its accepted inputs
and full-text fallback. Direct linking rejects invalid URLs and URLs
from another installation.

This PR contains the shared PUT support and Jira/Jira Server only. Other
providers are split into separate PRs based on this branch. Existing
identifier payloads and neutral reference semantics are preserved;
linking does not resolve the Sentry issue.

Provider follow-ups: GitHub/GitHub Enterprise #124305, GitLab #124306,
Bitbucket #124307, and Azure DevOps #124308.

Validation: 50 shared issue integration and linking endpoint tests
passed, covering identifiers, URLs, malformed URL rejection, and
positive URL parsing cases. Targeted mypy, prek, and diff checks passed.
Base automatically changed from bt/issue-link-urls to master September 14, 2026 19:35
@betegon
betegon force-pushed the bt/issue-link-azure-urls branch from b42b68e to 3511783 Compare September 14, 2026 19:41
@betegon
betegon marked this pull request as ready for review September 14, 2026 19:49
@betegon
betegon requested a review from a team as a code owner September 14, 2026 19:49
Comment thread src/sentry/integrations/vsts/issues.py
@betegon
betegon requested a review from cvxluo September 14, 2026 20:58
@betegon
betegon requested review from a team as code owners September 14, 2026 21:12
Comment thread src/sentry/integrations/vsts/issues.py Outdated
@betegon
betegon force-pushed the bt/issue-link-azure-urls branch from ba325b6 to d36fa97 Compare September 15, 2026 07:34
@betegon
betegon merged commit 2226b8b into master Sep 15, 2026
68 checks passed
@betegon
betegon deleted the bt/issue-link-azure-urls branch September 15, 2026 08:06

This branch was successfully deployed

1 active deployment
Preview — 63c4c974 Deployed Sep 15, 2026 by vercel[bot]
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