Skip to content

feat(links): add autolink support for issues and external references #25

@CalvinAllen

Description

@CalvinAllen

Description

Add autolink functionality that automatically converts issue references, ticket numbers, and other external references in commit messages into clickable links.

Features

Built-in Autolink Patterns

  • GitHub issues: #123 → GitHub issue link
  • GitLab issues: #123 → GitLab issue link
  • Azure DevOps work items: #123, AB#123 → ADO link
  • Jira issues: ABC-123 → Jira issue link

Custom Autolink Patterns

  • User-defined regex patterns
  • Custom URL templates with placeholders
  • Pattern prefix/suffix configuration
  • Multiple patterns per repository

Display Locations

  • Commit messages in all views
  • Blame annotations
  • Hover tooltips
  • Commit details panel
  • History views

Autolink Configuration

{
  "pattern": "TICKET-([0-9]+)",
  "url": "https://tickets.example.com/browse/TICKET-$1",
  "title": "Internal Ticket"
}

Features

  • Clickable links open in default browser
  • Hover preview showing link destination
  • Copy link URL option
  • Support for multiple patterns simultaneously
  • Repository-specific patterns
  • Global patterns (all repositories)

Configuration Options

  • Enable/disable autolinks globally
  • Manage custom patterns (add/edit/delete)
  • Pattern priority ordering
  • Per-repository pattern overrides
  • Case sensitivity toggle

Dependencies

Note: Basic pattern-matching autolinks can work standalone, but enhanced autolinks (showing issue titles, status, avatars) require the remote provider integration from #24 to be implemented.

Related Issues

Acceptance Criteria

  • Built-in patterns work for supported providers
  • Custom patterns can be defined and work correctly
  • Links are clickable and open correct URLs
  • Patterns work in all relevant locations
  • Multiple patterns can coexist
  • Configuration UI is user-friendly

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestphase-3Phase 3: Visual Git Graphpriority: lowLow priority item

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions